MyBatis 是一款优秀的持久层框架,用于简化JDBC开发
持久层:
用数据库操作的代码
负责将数据保存到数据库的那一层代码
JavaEE 三层架构:表现层、业务层、持久层
框架:
框架就是一个半成品软件,是一套可重用的、通用的、软件基础代码模型
在框架的基础之上构建软件编写更加高校、规范、通用、可扩展
步骤:
1.编写 MyBatis 核心配置文件 -----> 替换连接信息 解决硬编程问题
例如:
<?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="本地名"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- 加载sql映射文件-->
<mapper resource="映射文件的名称"/>
</mappers>
</configuration>
2.编写 SQL 映射文件 -----> 统一管理sql语句,解决硬编码问题
例如:
<?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">
<!--
namespace:名称空间
可以将编写的sql语句放在不同的id下
-->
<mapper namespace="可自己设">
<select id="可自己设" resultType="get/set方法的类的名">
select * from 数据库名;
</select>
</mapper>
3.编码
1.定义pojo类,也就是get、set方法类
2.加载核心配置文件,获取 SqlSessionFactory 对象
String resource = "核心配置文件的位置";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
3.获取 SqlSession 对象
SqlSession sqlSession = sqlSessionFactory.openSession();
4.执行sql语句
例如:
List<泛型> users = sqlSession.selectList("test.selectAll(映射文件下定义的 名字)");
5.释放资源
sqlSession.close();