通过MyBatis实现分页功能
dao层:
Mapper:这里用到了代码的重用
直接传入page和size
日后在业务层再写判断,这里直接把业务层流程写在了test页面里。
Test:
成功实现分页:
若此处不经过判断
一对多查询1:使用一条sql语句进行联表查询。
前提:有一个雇员表emp 和 对应的部门表 dept 查询雇员的所有信息,包括所在的部门信息。
实体设计:
雇员实体:
部门实体:
dao层设计
xml设计。
若只执行一句sql。查询结果值会显示单独一个表以及表里面的属性值(如下图),所以这里一步出不来,要写一个映射器。
映射器设计:
测试:
现在就完成一对多的查询了。
查询所有部门以及部门内员工的信息
dao
xml:这里的xml依然用到了映射器。(因为没法一步完成)
测试
可以通过设置这个属性 自动映射 不再需要手动配置;了。
一对多2:通过多条sql查询语句,获得需要的结果
这是不再使用一句sql完成查询结果,而是使用多条sql一起完成查询结果。
xml设计:
结果自然还是和使用一句sql语句是一样的。
多对一查询1:使用一条sql语句进行联表查询。
通过员工的id 查询该员工对应的所有信息。
实体设计
xml:
测试
多对一2:通过多条sql查询语句,获得需要的结果
xml
测试
多对多:就是几个多对一或者几个一对多
注意:当涉及到多对多 或者以后需要很多xml配置文件的时候
mybatisconfig 里面的mappers反射 不能再用mapper resource了。 因为会有很多xml文件。
所以这里改成package。 直接写xml文件所在的dao包的路径,而且xml文件要和dao文件的名字一致。
实体类
这里全都放开了。
dao![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/0e170f107b98cdd535d5a66837c935b1.png)
xml
测试: