一、生命周期
二、分页
1. 使用limit分页
startIndex表示开始位置,pageSize表示查几条,pageSize= -1表示查到最后一个
UserMapper.java
UserMapper.xml
UserMapperTest.java
@Test
public void getUserByLimit(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
HashMap<String, Integer> map= new HashMap<>();
map.put("startIndex",2);
map.put("pageSize",2);
List<User> userList = mapper.getUserByLimit(map);
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
2. 使用RowBounds对象分页
略
三、使用注解开发
1. 步骤
(1)在接口类中添加注解
(2)无需UserMapper.xml了
(3)在mybatis_config.xml直接绑定接口UserMapper.java,不绑定接口实现的xml文件了
<mappers>
<mapper class="dao.UserMapper"/>
</mappers>
(4)测试
2. 原理
通过反射拿到注解,自动去做一些事情+动态代理
3. @Param注解
对于每个非引用型参数前面都要加param注解(相当于为该变量起了个昵称),引用型不需要
@select中获取的参数是来自于param中标识的名字,如果没有同名的变量就会出错
原先使用UserMapper.xml方式时,获取的参数也来自于param
4. 在测试文件中省略commit()
在mybatisUtils.java文件中修改为true,就不用写commit()了,但不建议这样
5. 其他增删改查在接口类中的写法
四、mybatis执行流程(面试)
下一篇:MyBatis学习笔记(四)Lombok_resultMap(JavaBean属性名和数据库中的字段名称不一致;一对多多对一的查询)