Mybatis的动态Sql
mybatis核心 对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。###
1、动态sql
映射文件:
DELETE FROM user
and id=#{id}
and username=#{username}
2、sql片段
在Mapper文件中可以定义sql片段,定义后sql语句可以引用该片段,达到重复使用的效果。
映射文件:
and id=#{id}
and username=#{username}
引用片段:
DELETE FROM user
3、foreach
向sql传递数组或List,mybatis使用foreach解析.
POJO文件:
public class UserPlus extends User{
private List
public List
return list;
}
public void setList(List
this.list = list;
}
}
映射文件:
接口文件:
//根据多个id查询多个用户
public List
测试文件:
public void selectUser(){
try {
sqlSession = sessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
UserPlus userPlus = new UserPlus();
List
list.add(1);
list.add(3);
list.add(5);
list.add(7);
userPlus.setList(list);
List
System.out.println("查询成功");
for (User user:list1) {
System.out.println(user);
}
}catch (Exception e){
System.out.println("查询失败");
}finally {
sqlSession.close();
}
}

浙公网安备 33010602011771号