一、需求分析
掌握Maven项目集成Mybatis框架。MySQL数据库安装、建库建表,配置Maven,Mybatis从MySQL数据库读取数据,封装数据,并打印输出。
二、资料、视频教程
MyBatis入门程序
三、编码实现
1)MySQL建库建表
Mybatis数据库,t_user表
2)新建项目
Idea→Create New Project→Maven,配置jdk→Name:MybatisProject,GroupID:com.sw
3)引入依赖
pom.xml文件
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version>
</dependency>
</dependencies>
4)数据库连接的配置文件
src/main/resources,新建数据库连接的配置文件db.properties。要求MySQL8版本及以上
mysql.driver=com.mysql.cj.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
mysql.username=root
mysql.password=123456
5)MyBatis核心配置文件
src/main/resources,新建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>
<!-- 环境配置 -->
<!-- 加载类路径下的属性文件 -->
<properties resource="db.properties"/>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<!-- 数据库连接相关配置 ,db.properties文件中的内容-->
<dataSource type="POOLED">
<property name="driver" value="${mysql.driver}"/>
<property name="url" value="${mysql.url}"/>
<property name="username" value="${mysql.username}"/>
<property name="password" value="${mysql.password}"/>
</dataSource>
</environment>
</environments>
<!-- mapping文件路径配置 -->
<mappers>
</mappers>
</configuration>
6)数据封装类User
src/main/java,新建com.sw.pojo包,新建User类
public class User {
private int uid;
private String uname;
private int uage;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public int getUage() {
return uage;
}
public void setUage(int uage) {
this.uage = uage;
}
@Override
public String toString() {
return "User{" +
"uid=" + uid +
", uname='" + uname + '\'' +
", uage=" + uage +
'}';
}
}
7)Mybatis映射文件
src/main/resources,新建mapper文件夹,新建UserMapper.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为映射的根节点-->
<!-- mapper为映射的根节点,namespace指定Dao接口的完整类名
mybatis会依据这个接口动态创建一个实现类去实现这个接口,
而这个实现类是一个Mapper对象-->
<mapper namespace="com.sw.pojo.User">
<select id="findById" parameterType="int" resultType="com.sw.pojo.User">
select * from t_user where uid = #{uid}
</select>
</mapper>
8)修改MyBatis核心配置文件
<!-- mapping文件路径配置 -->
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
9)测试输出
src→main→java,Test类,新建main方法
public class Test {
public static void main(String[] args) throws IOException {
//1、获取核心配置文件
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
//2、创建SqlSessionFactory工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
//3、创建SqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//4、执行sql语句,sql语句的唯一标识:namespace.statementId
User user = sqlSession.selectOne("com.sw.pojo.User.findById", 1);
System.out.println(user);
//5、释放资源
sqlSession.close();
}
}