mybatis 的工作流程
1、图示工作流程2、代码简单实现在eclipse中新建一个普通的Java项目,然后,在根目录下新建一个 lib 文件夹来存放 MyBatis 依赖的 jar 包,以及连接 MySQL 需要的 jar 包;新建一个 config 文件夹来存放相关的配置文件,项目目录结构如下:├─config││jdbc.properties││log4j.properties││sqlMapConfig.xml││
1、图示工作流程
2、代码简单实现
在eclipse中新建一个普通的Java项目,然后,在根目录下新建一个 lib 文件夹来存放 MyBatis 依赖的 jar 包,以及连接 MySQL 需要的 jar 包;新建一个 config 文件夹来存放相关的配置文件,项目目录结构如下:
├─config
│ │ jdbc.properties
│ │ log4j.properties
│ │ sqlMapConfig.xml
│ │
│ └─sqlMap
│ UserMapper.xml
│
├─lib
│ ant-1.10.3.jar
│ ant-launcher-1.10.3.jar
│ asm-7.0.jar
│ cglib-3.2.10.jar
│ commons-logging-1.2.jar
│ javassist-3.24.1-GA.jar
│ log4j-1.2.17.jar
│ log4j-api-2.11.2.jar
│ log4j-core-2.11.2.jar
│ mybatis-3.5.2.jar
│ mysql-connector-java-8.0.18.jar
│ ognl-3.2.10.jar
│ slf4j-api-1.7.26.jar
│ slf4j-log4j12-1.7.26.jar
│
└─src
└─ddpapa
└─mybatis
├─datasource
│ DataConnection.java
│
├─model
│ User.java
│
└─test
MainTest.java
注: config 文件需要设置为项目源文件夹
1)新建 test 数据库并添加一个 usertable 表格
2)新建 usertable 对应的 pojo 类:User.java
package ddpapa.mybatis.model;
public class User {
private int id;
private String user;
private String pwd;
private String tips;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getTips() {
return tips;
}
public void setTips(String tips) {
this.tips = tips;
}
}
3)建立 UserMapper 映射文件,并编写查询语句
<?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="test">
<select id="selectUser" resultType="ddpapa.mybatis.model.User">
select * from usertable where id = #{id}
</select>
</mapper>
4)建立数据库资源文件 jdbc.properties
driver=com.mysql.cj.jdbc.Driver
jurl=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useSSL=false
username=root
password=123456
5)建立 log4j 日志资源文件 log4j.properties
log4j.rootLogger=DEBUG, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
6)建立核心配置文件 sqlMapConfig.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>
<properties resource="jdbc.properties"></properties>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${jurl}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="sqlMap/UserMapper.xml"/>
</mappers>
</configuration>
7)编写数据库交互类 DataConnection.java
package ddpapa.mybatis.datasource;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class DataConnection {
private String resource = "sqlMapConfig.xml";
private SqlSessionFactory sqlSessionFactory;
private SqlSession sqlSession;
public SqlSession getSqlSession() throws IOException {
InputStream inputSteam = Resources.getResourceAsStream(this.resource);
this.sqlSessionFactory = (new SqlSessionFactoryBuilder()).build(inputSteam);
this.sqlSession = this.sqlSessionFactory.openSession();
return this.sqlSession;
}
}
8)编写测试文件进行测试
package ddpapa.mybatis.test;
import ddpapa.mybatis.datasource.DataConnection;
import ddpapa.mybatis.model.User;
import java.io.IOException;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
public class MainTest {
public DataConnection dataConn = new DataConnection();
public MainTest() {
}
@Test
public void test() throws IOException {
SqlSession sqlSession = this.dataConn.getSqlSession();
User user = (User)sqlSession.selectOne("test.selectUser", 1);
System.out.println(user.getId());
System.out.println(user.getUser());
System.out.println(user.getPwd());
System.out.println(user.getTips());
}
}
从这个简单的 Java 项目中也能大概验证一下整个 MyBatis 的运行流程。

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)