- 动态sql:
- 1.if
<select id="findUsers1" parameterType="cn.flyingd.domain.User"> select * from user where 1=1 <if test="userName !=null "> and username = #{userName} </if> <if test="userSex !=null "> and usersex = #{userSex} </if> </select>
- 2.where
<select id="findUsers1" parameterType="cn.flyingd.domain.User"> select * from user <where> <if test="userName !=null "> and username = #{userName} </if> <if test="userSex !=null "> and usersex = #{userSex} </if> </where> </select>
- 3.foreach
<select id="findUsers1" parameterType="cn.flyingd.domain.QueryVo"> select * from user <where> <foreach collection="ids" open="and id in (" close=")" sperator="," item="aaa" > #{aaa} </foreach> </where> </select>
- 4.sql片段
<sql id="abc" > select * from user </sql> <select id="findUsers1" parameterType="cn.flyingd.domain.QueryVo"> <include refid="abc" /> <where> <foreach collection="ids" open="and id in (" close=")" sperator="," item="aaa" > #{aaa} </foreach> </where> </select>
- 5.Mybatis,多对一,看成了一对一
public class Account { private User user1; //持有引用 }
public class User { }
- 映射文件IAccountDao.xml ```xml
``` select a.*,u.id uid,u.address userAddress,u.sex userSex from account a left join user u on a.uid = u.id
- 6.一对多
public class User { private List<Account> accountList; }
public class Account { }
- 映射文件IUserDao.xml ```xml
``` select u.*,a.id aid,a.uid,a.money from user u left join account a on u.id = a.uid
- 7.Mybatis,多对多,看成一对多
public class User { private List<Role> roleList; }
public class Role { }
- IUserDao.xml ```xml