上一篇:MyBatis学习笔记(三)生命周期_分页_使用注解开发_mybatis执行流程
一、Lombok
1. 作用:不用手写JavaBean中的常用方法,只需注解可搞定
2. 安装插件,右边蓝色是lombok的全部注解
3. 导包:maven法,注掉scope标签
4. 使用
(1)直接用在类上,右边的图是自动生成的一系列方法
(2)也可以用在字段上
二、解决User.java的属性名和数据库中的字段名称不一致的问题
比如数据库中是pwd,User.java中是password
实际的sql语句会根据数据库中的字段名补齐,导致User.java中的不一致字段查询不到
select * from mybatis.user where userId=#{id}
//补齐后
select userId,name,pwd from mybatis.user where userId=#{id}
1. 解决方法1
select userId,name,pwd as password from mybatis.user where userId=#{id}
2. 解决方法2
三、利用resultMap实现包含外键多对一的查询
有一个学生表和一个教师表,其中学生表中有一个外键,是教师表的 tid
多对一是指从学生表的角度查询
1. 建立对应的JavaBean
2. 建立接口类
StudentMapper.java
TeacherMapper.java
3. 建立接口实现类
(1)方法一:子查询,先查询到学生表中对应老师的 tid,再查找tid对应的教师的名字
(2)方法二:联表查询
sql多表查询语法示例
//从两个表查
select * from student stu,score sc where stu.id=sc.sid;
//从三个表查
select st.'name',sc.score,c.name
from stu st,score sc,course c
where st.id=sc.sid and sc.cid =c.cid;
4. 测试
四、利用resultMap实现包含外键一对多的查询
有一个学生表和一个教师表,其中学生表中有一个外键,是教师表的 tid
一对多是指从教师表的角度查询
1. 建立对应的JavaBean
2. 建立接口类
3. 建立接口实现类
(1)方法一:联表查询
(2)方法二:子查询
4. 测试