文章目录
一、Mybatis简介
1.官方网站
mybatis
ORM框架
2.特点
- 基于SQL语法,简单易学
- 了解底层封装过程
- SQL语句封装在配置文件,便于统一管理和维护,降低程序的耦合度
- 方便程序代码调试
3.Mybatis的核心对象
- SqlSessionFactoryBuilder
- SqlSessionFactory
- SqISession
4.相关文件
mybatis-config.xml 系统核心配置文件
mapper.xml SQL映射文件
二、Mybatis的开发步骤
1.向pom.xml文件导入mybatis依赖:
<!-- mybatis依赖 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<!-- 数据库依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.49</version>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
</dependency>
数据库数据:
2.编写Mybatis核心配置文件(resources/mybatis-moviesType.xml)
<?xml version="1.0" encoding="UTF-8" ?>
<!--报文头:<?xml version="1.0" encoding="UTF-8" ?>
<?xml ?>:报文头格式,报文头内容放在xml和?中间
version="1.0":声明使用的xml版本
encoding="UTF-8":声明用xml传输数据时用的字符编码类型 -->
<!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.jdbc.Driver"/> <!--属性-->
<property name="url" value="jdbc:mysql://localhost:3306/mybatisDemo?characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="628050"/>
</dataSource>
</environment>
</environments>
<!-- 映射器:加载映射文件 -->
<mappers>
<mapper resource="mapper/TypeMapper.xml"/>
</mappers>
</configuration>
3.创建实体类-POJO
package com.cwx.mybatisDemo.entity;
import lombok.Data;
/**
* @Author cwx
* @Date 2022/4/11 13:30
* @Version 1.0
*/
@Data
public class MoviesType {
private Integer id;
private String type;
}
4.DAO层–SQL的映射文件(resources/mapper/MoviesTypeMapper.xml和dao/MoviesTypeDao)
<?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.cwx.mybatisDemo.dao.MoviesTypeDao">
<select id="queryMoviesType" resultType="com.cwx.mybatisDemo.entity.MoviesType">
SELECT * FROM lei_xing;
</select>
</mapper>
package com.cwx.mybatisDemo.dao;
import com.cwx.mybatisDemo.entity.MoviesType;
import java.util.List;
/**
* @Author cwx
* @Date 2022/4/11 13:47
* @Version 1.0
*/
public interface MoviesTypeDao {
List<MoviesType> queryMoviesType();
}
5.创建测试类
1)读取核心配置文件mybatis-moviesType.xml
2)创建SqlSessionFactory对象,读取配置文件
3)创建SqISession对象
4)调用mapper文件进行数据操作
package com.cwx.mybatisDemo.test;
import com.cwx.mybatisDemo.entity.MoviesType;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
/**
* @Author cwx
* @Date 2022/4/11 13:36
* @Version 1.0
*/
public class TestMybatis {
public static void main(String[] args) throws IOException {
// 1.创建SqlSessionFactoryBuilder
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
// 2.解析主配置文件 获得一个reader
Reader reader = Resources.getResourceAsReader("mybatis-moviesType.xml");
// 3.创建SqlSessionFactory
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(reader);
// 4.打开SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
// 5.执行Sql
List<MoviesType> moviesTypeList = sqlSession.selectList("com.cwx.mybatisDemo.dao.MoviesTypeDao.queryMoviesType");
// 6.输出
for (MoviesType moviesType : moviesTypeList) {
System.out.println(moviesType);
}
// 7.关闭SqlSession
sqlSession.close();
}
}
输出结果如下: