《JAVA EE轻量级框架整合开发-Spring+Spring MVC+MyBatis》 课件 第8章 MyBatis深入.pdf
文本预览下载声明
开导疆盖 曹动 3 VAV
海晶只不弹影的
第8章MyBatis框架深入
MyBatis动态查询
MyBatis一对多查询
MyBatis分页查询
MyBatis缓存
动态查询
明德敬业尚智敏行
动态查询的使用
动态SQL用于查询条件不确定的情况,根据用户提交的多种查询条件动态构造出SQL语句
动态查询在网购中很常见,大家在淘宝等网站中搜索商品时,搜索条件可多可少,每个人
的搜索条件也都不尽相同,但最终都能查询出符合条件的商品出来。显然这些不同的搜索
条件最后都在后台动态地构造出不同的SQL查询语句,从而在数据库中查询出来。
明德敬业尚智敏行
动态查询例子
·根据输入参数的条件判断构造sql语句
resultMap=empResultMap
select * from emp where 1=1
if test=empnoe
and empno=#{empno}
/if
if test=empname!=null and empname!=
and ename like s{empname}%
/if
if test=job!=null and job!=
and job likes{job}‘%
/if
明德敬业尚智敏行
foreach标签
·如MyBatis的输入参数类型是数组或集合
select * from emp
if test=array!=null and array.lengthe
where empno in
close=)
#{item}
/foreach
/if
/select|
明德敬业尚智敏行
多表关系
明德敬业尚智敏行
一对多关系
Java代码
public class Dept {
private int deptno;
private String dname;
private String loc;
private ListEmp emps;
//省略其他方法
}
明德敬业尚智敏行
映射文件配置-使用表连接查询
id property=deptno column=deptno/
result property=Loc column=Loc/
id property=empno column=empno/
result property=job column=job/
明德敬业尚智敏行
分页查询
明德敬业尚智敏行
分页原理
内容通常做为实际参数,传递给分页查询有关的方法,该方法查询数据库后返回分页有关
示。分页信息类(如PagelnfoT)通常包含如下一些属性:
int pageNum:当前第几页(页码)。
int pageSi
显示全部