MyBatis 시작 가이드: 처음부터 프로그램 작성
소개:
MyBatis는 개발자가 데이터베이스 액세스 프로세스를 단순화하는 데 도움이 될 수 있는 오픈 소스 지속성 계층 프레임워크입니다. 기존 ORM 프레임워크와 비교하여 MyBatis는 보다 유연하고 효율적인 데이터베이스 운영 방법을 제공합니다. 이 기사는 처음부터 시작하여 특정 코드 예제를 통해 MyBatis 프레임워크를 시작하는 방법을 안내합니다.
1. 준비:
프로그램 작성을 시작하기 전에 몇 가지 사전 준비가 필요합니다.
1. 환경 설정:
먼저 JDK(Java Development Kit)가 설치되어 있고 시스템 환경 변수가 구성되어 있는지 확인해야 합니다. 그런 다음 MyBatis 공식 웹사이트로 이동하여 최신 MyBatis 프레임워크를 다운로드하고 이를 프로젝트 디렉터리에 추출할 수 있습니다.
2. 데이터베이스 준비:
이 기사에서는 MySQL 데이터베이스를 예로 들어 설명하겠습니다. MySQL 데이터베이스가 설치되었는지 확인하고 "mybatis_demo"라는 데이터베이스를 생성해야 합니다.
3. MyBatis 구성:
MyBatis 프레임워크에서는 구성 파일을 통해 데이터베이스에 연결해야 합니다. 먼저 프로젝트의 루트 디렉터리에 "mybatis-config.xml"이라는 파일을 생성하고 다음을 구성합니다.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis_demo?serverTimezone=UTC"/> <property name="username" value="your_username"/> <property name="password" value="your_password"/> </dataSource> </environment> </environments> <mappers> <!-- 在此处添加映射文件 --> </mappers> </configuration>
"your_username" 및 "your_password"를 자신의 데이터베이스 사용자 이름과 비밀번호로 바꾸세요.
2. 프로그램 작성:
사전 준비가 완료되면 프로그램 작성을 시작할 수 있습니다.
1. Java 엔터티 클래스 생성:
먼저 데이터베이스의 테이블에 해당하는 Java 엔터티 클래스를 생성해야 합니다. 이 기사에서는 "user" 테이블에 해당하는 "MyUser"라는 Java 클래스를 생성합니다:
public class MyUser { private int id; private String name; private int age; // 省略构造方法、getter和setter }
2. 매핑 파일 생성:
다음으로, 엔터티 클래스에 대한 매핑 파일을 생성해야 합니다. Java 객체와 데이터베이스 테이블 간의 매핑 관계. "MyUserMapper.xml"이라는 파일을 생성하고 다음 구성을 만듭니다.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.mapper.MyUserMapper"> <resultMap id="MyUserMap" type="com.example.entity.MyUser"> <id property="id" column="id"/> <result property="name" column="name"/> <result property="age" column="age"/> </resultMap> <select id="getUserById" resultMap="MyUserMap"> SELECT * FROM user WHERE id=#{id} </select> <insert id="addUser" parameterType="com.example.entity.MyUser"> INSERT INTO user(name, age) VALUES (#{name}, #{age}) </insert> </mapper>
3. 인터페이스 생성:
그런 다음 데이터베이스 작업에 대한 관련 메서드를 정의하는 Java 인터페이스를 생성해야 합니다. "MyUserMapper"라는 인터페이스를 만들고 다음을 구성합니다.
public interface MyUserMapper { MyUser getUserById(int id); int addUser(MyUser user); }
4. 코드 작성:
다음으로 데이터베이스를 작동하는 프로그램을 작성할 수 있습니다. "Main"이라는 이름의 Java 클래스를 생성하고 다음과 같이 구성합니다.
public class Main { public static void main(String[] args) { // 创建SqlSessionFactory对象 SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml")); // 创建SqlSession对象 try(SqlSession session = factory.openSession()) { // 创建Mapper对象 MyUserMapper mapper = session.getMapper(MyUserMapper.class); // 调用方法进行数据库操作 MyUser user = mapper.getUserById(1); System.out.println(user.getName()); MyUser newUser = new MyUser(); newUser.setName("NewUser"); newUser.setAge(20); mapper.addUser(newUser); session.commit(); } } }
5. 프로그램 실행:
마지막으로 프로그램을 실행하여 데이터베이스의 데이터가 올바르게 작동하는지 확인할 수 있습니다.
3. 요약:
위 단계를 통해 MyBatis 프레임워크를 통해 간단한 Java 코드를 사용하여 데이터베이스 작업을 완료하는 동시에 데이터베이스와의 상호 작용 비용을 줄일 수 있음을 알 수 있습니다. 이 글의 샘플 코드가 여러분이 MyBatis를 시작하는 데 도움이 되기를 바랍니다. 즐거운 학습이 되시길 바랍니다!
위 내용은 마이바티스 시작하기 가이드: 처음부터 프로그램 작성하기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

缓存的概述和分类概述缓存就是一块内存空间.保存临时数据为什么使用缓存将数据源(数据库或者文件)中的数据读取出来存放到缓存中,再次获取的时候,直接从缓存中获取,可以减少和数据库交互的次数,这样可以提升程序的性能!缓存的适用情况适用于缓存的:经常查询但不经常修改的(eg:省市,类别数据),数据的正确与否对最终结果影响不大的不适用缓存的:经常改变的数据,敏感数据(例如:股市的牌价,银行的汇率,银行卡里面的钱)等等MyBatis缓存类别一级缓存:它是sqlSession对象的缓存,自带的(不需要配置)不

MyBatis允许使用插件来拦截的方法Executor(update,query,flushStatements,commit,rollback,getTransaction,close,isClosed)ParameterHandler(getParameterObject,setParameters)ResultSetHandler(handleResultSets,handleOutputParameters)StatementHandler(prepare,parameterize,ba

mybatis分页的方式:1、借助数组进行分页,首先查询出全部数据,然后再list中截取需要的部分。2、借助Sql语句进行分页,在sql语句后面添加limit分页语句即可。3、利用拦截器分页,通过拦截器给sql语句末尾加上limit语句来分页查询。4、利用RowBounds实现分页,需要一次获取所有符合条件的数据,然后在内存中对大数据进行操作即可实现分页效果。

简介今天开发时想将自己写好的代码拿来优化,因为不想在开发服弄,怕搞坏了到时候GIT到生产服一大堆问题,然后把它分离到我轮子(工具)项目上,最后运行后发现我获取List的时候很卡至少10秒,我惊了平时也就我的正常版本是800ms左右(不要看它很久,因为数据量很大,也很正常。),前提是我也知道很慢,就等的确需要优化时,我在放出我优化的plus版本,回到10秒哪里,最开始我刚刚接到这个app项目时,在我用PageHelper.startPage(page,num);(分页),还没等查到的数据封装(Pa

mybatis调用mysql存储过程并获取返回值1、mysql创建存储过程#结束符号默认;,delimiter$$语句表示结束符号变更为$$delimiter$$CREATEPROCEDURE`demo`(INinStrVARCHAR(100),outourStrVARCHAR(4000))BEGINSETourStr='01';if(inStr=='02')thensetourStr='02';en

当某些sql因为不知名原因堵塞时,为了不影响后台服务运行,想要给sql增加执行时间限制,超时后就抛异常,保证后台线程不会因为sql堵塞而堵塞。一、yml全局配置单数据源可以,多数据源时会失效二、java配置类配置成功抛出超时异常。importcom.alibaba.druid.pool.DruidDataSource;importcom.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;importorg.apache.

一、springboot与mybatis的配置1.首先,springboot配置mybatis需要的全部依赖如下:org.springframework.bootspring-boot-starter-parent1.5.1.RELEASEorg.springframework.bootspring-boot-starter-web1.5.1.RELEASEorg.mybatis.spring.bootmybatis-spring-boot-starter1.2.0com.oracleojdbc

SpringBoot打印mybatis的执行sql1、使用场景应为在开发过程之中跟踪后端SQL语句,因什么原因导致的错误。需要在Debug过程之中打印出执行的SQL语句。所以需要配置一下SpringBoot之中,Mybatis打印SQL语句。2、具体实现application.properties(yml)中配置的两种方式:1.logging.level.dao包名(daopackage)=debug2.mybatis.configuration.log-impl=org.apache.ibat


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

뜨거운 주제



