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 list;

public List getList() {
return list;
}

public void setList(List list) {
this.list = list;
}
}
  映射文件:



  接口文件:

//根据多个id查询多个用户
public List selectUser(UserPlus userPlus) throws Exception;

  测试文件:

public void selectUser(){
try {
sqlSession = sessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
UserPlus userPlus = new UserPlus();
List list = new ArrayList();
list.add(1);
list.add(3);
list.add(5);
list.add(7);
userPlus.setList(list);
List list1 = userMapper.selectUser(userPlus);
System.out.println("查询成功");
for (User user:list1) {
System.out.println(user);
}
}catch (Exception e){
System.out.println("查询失败");
}finally {
sqlSession.close();
}
}

posted @ 2017-07-27 08:26  一条路上的咸鱼  阅读(1622)  评论(0)    收藏  举报