1.动态sql
——Mybatis框架可以对sql语句进行灵活操作,通过表达式进行判断,
对sql进行灵活拼接、组装。
实现动态的主要元素
MyBatis中用于实现动态SQL的元素主要有:
if
choose(when,otherwise)
trim
where
set
foreach
2.一个动态查询语句
UserDao.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="myBatisTest.dao.UserDao">
<!--resultType可以为包加类的model对象 如果返回多条数据,他会返回一个list<UserInfo>的集合-->
<!--可以使用java.util.Map 但不能直接指定为java.util.List 因为返回的是一个泛型集合list<UserInfo>-->
<!--resultType的返回类型为POJO类型(list<UserInfo>类型)所以UserDao接口需要保持一致-->
<