一、Mybatis简介
1.官网 2.Mybatis是什么 3.有何作用 4.扩展:Hibernate
二、Maven介绍
1.导包 2.准备数据库和表、实体类 3.定义dao层接口和接口映射文件 4.编写测试类,获取SqlSession实例,执行已映射语句
三、Mybatis核心配置文件解析
四、Mybatis的CRUD
1.查询 2.新增 3.修改 4.删除 5.$和#的区别
五、Mybatis注解
六、Mybatis日志
七、Lombok
八、动态sql
1.if 2.choose、when、otherwise 3.trim、where、set
九、Mybatis一对多与多对一
1.一对多 2.多对一
十、Mybatis缓存
1.一级缓存 2.二级缓存
一、Mybatis简介
1.官网
https://mybatis.org/mybatis-3/zh/getting-started.html
2.Mybatis是什么
mybatis是一个优秀的持久层框架,也是一个半自动的ORM框架。
3.有何作用
将内存中的数据持久化到数据库中,优化JDBC操作。
4.扩展:Hibernate
Hibernate是一个全自动ORM框架(对象关系映射)。
二、使用步骤
(以Maven项目的使用为例)
1.导包
将下面的依赖代码置于 pom.xml 文件中:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>x.x.x</version>// 版本号
</dependency>
2.准备数据库和表、实体类
3.定义dao层接口和接口映射文件
SQL的映射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="org.mybatis.example.BlogMapper">
<select id="selectBlog" resultType="Blog">
select * from Blog where id = #{id}
</select>
</mapper>
4.编写测试类,获取SqlSession实例,执行已映射的SQL语句
public class Test {
public static void main(String[] args) throws IOException {
// 获取输入流对象
InputStream inputStream = Resources.getResourceAsStream("mybatis.xml");
// 获取会话工厂
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 获取会话
SqlSession session = sqlSessionFactory.openSession();
// 获取接口对象
UserMapper userMapper = session.getMapper(UserMapper.class);
// 使用接口
User user = new User();
// user.setUserName("zh");
user.setUserSex("女");
user.setUserAdd("中国");
List<User> list = userMapper.getDynamic(user);
for (User u:list) {
System.out.println(u);
}
// 提交会话
session