最近对MyBatisPlus的学习又推进了一些,打算对MyBatisPlus对SQL语句的封装进行一个大概的总结。
1.selectList(null)
mapper.selectList(null);
SQL运行结果:
SELECT id,name AS title,age,create_time,update_time,version,status,deleted FROM user
这是从user数据表中查找全部数据,并且还有一个知识点就是name AS title这个其实用到了注解:
@TableField
就是把title映射为数据库中的name字段。
2.selectList(wapper)
1.wapper是QueryWrapper()的对象。
QueryWrapper wrapper = new QueryWrapper();
Map<String,Object> map=new HashMap<>();
map.put("name","李四");
map.put("age",3);
wrapper.allEq(map);
mapper.selectList(wrapper);
SQL运行结果:
SELECT id,name AS title,age,create_time,update_time,version,status,deleted FROM user WHERE (name = ? AND age = ?)
此时声明map对象就是为了多加几个查询条件,此时就会将name=李四,age=3的数据查询出来。
2.
QueryWrapper wrapper = new QueryWrapper();
wrapper.lt("age",18);
mapper.selectList(wrapper);
SQL运行结果:
SELECT id,name AS title,age,create_time,update_time,version,status,deleted FROM user WHERE (age < ?)
此时会将age<18的数据查出,另外gt是大于。
3.
QueryWrapper wrapper = new QueryWrapper();
wrapper.ne("name","李四");
mapper.selectList(wrapper);
SQL运行结果:
SELECT id,name AS title,age,create_time,update_time,version,status,deleted FROM user WHERE (name <> ?)
这样会把name!='李四'的数据查询出来,注意:SQL语句中的<>是不等于的意思。
4.
QueryWrapper wrapper = new QueryWrapper();
wrapper.like("name","李");
mapper.selectList(wrapper);
SQL运行结果:
SELECT id,name AS title,age,create_time,update_time,version,status,deleted FROM user WHERE (name LIKE ?)
这个是模糊查询,将name里含有“李”的数据查询出来。(只要含有就查出,“%李%”)
5.
QueryWrapper wrapper = new QueryWrapper();
wrapper.likeLeft("name","李");
mapper.selectList(wrapper);
SQL运行结果:
SELECT id,name AS title,age,create_time,update_time,version,status,deleted FROM user WHERE (name LIKE ?)
此时是以“李”作为结尾的数据进行查询。
6.
QueryWrapper wrapper = new QueryWrapper();
wrapper.inSql("id", "select id from user where id<10");
wrapper.inSql("age", "select age from user where age>3");
mapper.selectList(wrapper);
SQL运行结果:
SELECT id,name AS title,age,create_time,update_time,version,status,deleted FROM user WHERE (id IN (select id from user where id<10) AND age IN (select age from user where age>3))
这个其实是联合查询,须同时满足id<10,age>3这两个条件,查找到相关数据。
以上就是这次的内容,现在可能仅仅是一点儿皮毛吧(毕竟刚学没多长时间,接触的少),我会继续努力的!
奥利给!!!