MyBatisPlusWrapperTest.java 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. /**
  2. * @author 50560
  3. * @create 2022-09-15 14:48
  4. */
  5. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  6. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  7. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  8. import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
  9. import com.gyee.backconfig.BackConfigMain;
  10. import com.gyee.backconfig.mapper.auto.XrpProjectplanMapper;
  11. import com.gyee.backconfig.model.auto.XrpProjectplan;
  12. import com.gyee.backconfig.service.auto.IXrpProjectplanService;
  13. import com.gyee.common.model.StringUtils;
  14. import org.junit.Test;
  15. import org.junit.runner.RunWith;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.boot.test.context.SpringBootTest;
  18. import org.springframework.test.context.junit4.SpringRunner;
  19. import java.util.List;
  20. import java.util.Map;
  21. /**
  22. *@BelongsProject: workpathnew
  23. *@BelongsPackage: PACKAGE_NAME
  24. *@Author: xiruipeng
  25. *@CreateTime: 2022-09-15 14:48
  26. *@Description: TODO
  27. *@Version: 1.0
  28. */
  29. @SpringBootTest(classes = {BackConfigMain.class})
  30. @RunWith(SpringRunner.class)
  31. public class MyBatisPlusWrapperTest {
  32. @Autowired
  33. private XrpProjectplanMapper xrpProjectplanMapper;
  34. @Autowired
  35. private IXrpProjectplanService xrpProjectplanService;
  36. @Test
  37. public void testRemove(){
  38. QueryWrapper<XrpProjectplan> queryWrapper=new QueryWrapper<XrpProjectplan>();
  39. queryWrapper.eq("id","ea87011f98c11dae924c73802ce1b4d8");
  40. xrpProjectplanService.remove(queryWrapper);
  41. }
  42. @Test
  43. public void testWrapper(){
  44. //==> Preparing: SELECT ID,PROJECTID,GENERATINGCAPACITY,OUTAGEHOURS,YEAR,MONTH,WINDPOWER,isdeleted FROM XRP_PROJECTPLAN WHERE isdeleted=1
  45. // AND (year LIKE ? AND outagehours BETWEEN ? AND ? AND windpower IS NOT NULL)
  46. QueryWrapper<XrpProjectplan> queryWrapper=new QueryWrapper<XrpProjectplan>();
  47. queryWrapper.like("year","9")
  48. // .between("outagehours",2.43,2.50)
  49. .isNotNull("windpower");
  50. List<XrpProjectplan> list = xrpProjectplanMapper.selectList(queryWrapper);
  51. list.forEach(System.out::println);
  52. }
  53. @Test
  54. public void testOrder(){
  55. //查询信息,按照generatingcapacity降序,相同按照id升序
  56. QueryWrapper<XrpProjectplan> queryWrapper = new QueryWrapper<>();
  57. queryWrapper.orderByDesc("generatingcapacity").orderByAsc("id");
  58. List<XrpProjectplan> list = xrpProjectplanMapper.selectList(queryWrapper);
  59. list.forEach(System.out::println);
  60. }
  61. @Test
  62. public void testDelete(){
  63. //删除id
  64. QueryWrapper<XrpProjectplan> queryWrapper=new QueryWrapper<>();
  65. //queryWrapper.isNotNull("month");
  66. queryWrapper.eq("GENERATINGCAPACITY","100.4");
  67. int delete = xrpProjectplanMapper.delete(queryWrapper);
  68. System.out.println("result"+ delete);
  69. }
  70. //update biao set zd="" where month='' and id or year
  71. @Test
  72. public void testUpdate2(){
  73. //将month为”“并且id>jj或者year like 49
  74. QueryWrapper<XrpProjectplan> queryWrapper = new QueryWrapper<>();
  75. queryWrapper.eq("month","")
  76. .gt("id",1570251305913802753L)
  77. .or()
  78. .like("year","49");
  79. XrpProjectplan xrpProjectplan=new XrpProjectplan();
  80. xrpProjectplan.setProjectid("5");
  81. xrpProjectplan.setGeneratingcapacity("100.4");
  82. //设置内容和条件
  83. int result = xrpProjectplanMapper.update(xrpProjectplan, queryWrapper);
  84. System.out.println("result:"+result);
  85. }
  86. @Test
  87. public void testUpdatePer(){
  88. //将month为”“并且(id>jj或者year like 49)
  89. //lambda中的条件优先执行
  90. //==> Preparing: UPDATE XRP_PROJECTPLAN SET PROJECTID=?, GENERATINGCAPACITY=?
  91. // WHERE isdeleted=1 AND (month = ? AND (id > ? OR year LIKE ?))
  92. UpdateWrapper<XrpProjectplan> queryWrapper = new UpdateWrapper<>();
  93. queryWrapper.eq("month","")
  94. .and(
  95. i->i.gt("id",1570251305913802753L)
  96. .or()
  97. .like("year","49")
  98. );
  99. XrpProjectplan xrpProjectplan=new XrpProjectplan();
  100. xrpProjectplan.setProjectid("90");
  101. xrpProjectplan.setGeneratingcapacity("111.4");
  102. //设置内容和条件
  103. int result = xrpProjectplanMapper.update(xrpProjectplan, queryWrapper);
  104. System.out.println("result:"+result);
  105. }
  106. //函数式接口指定
  107. @Test
  108. public void testUpdatePerLambda(){
  109. LambdaUpdateWrapper<XrpProjectplan> updateWrapper = new LambdaUpdateWrapper<>();
  110. updateWrapper.like(XrpProjectplan::getYear,"")
  111. .gt(XrpProjectplan::getMonth,"5")
  112. .and(
  113. i->i.gt(XrpProjectplan::getId,1570251306048020482L)
  114. .or()
  115. .like(XrpProjectplan::getYear,"49")
  116. );
  117. updateWrapper
  118. .set(XrpProjectplan::getProjectid,"120").set(XrpProjectplan::getGeneratingcapacity,111.7);
  119. int result = xrpProjectplanMapper.update(null, updateWrapper);
  120. System.out.println("result:"+result);
  121. }
  122. @Test
  123. public void testUpdate(){
  124. UpdateWrapper<XrpProjectplan> updateWrapper = new UpdateWrapper<>();
  125. updateWrapper.eq("month","")
  126. .gt("id",1570251305913802753L)
  127. .or()
  128. .like("year","49");
  129. updateWrapper.set("month","33").set("YEAR","50");
  130. int result = xrpProjectplanMapper.update(null, updateWrapper);
  131. System.out.println("result:"+result);
  132. }
  133. @Test
  134. public void testPro(){
  135. QueryWrapper<XrpProjectplan> queryWrapper=new QueryWrapper<>();
  136. queryWrapper.select("ID","PROJECTID","YEAR","generatingcapacity");
  137. //组装属性字段
  138. List<Map<String, Object>> maps = xrpProjectplanMapper.selectMaps(queryWrapper);
  139. maps.forEach(System.out::println);
  140. }
  141. //组装条件
  142. @Test
  143. public void test(){
  144. String year="5";
  145. Long idBegin=1570251304856838145L;
  146. Long idEnd=1570284357834518534L;
  147. QueryWrapper<XrpProjectplan> queryWrapper=new QueryWrapper<>();
  148. //加入某个字符串不为null 不为空字符串,不为空白符
  149. if(StringUtils.isNotEmpty(year)){
  150. queryWrapper.like("year",year);
  151. }
  152. //if(idBegin)
  153. if (idBegin == null) {
  154. queryWrapper.ge("id",idBegin);
  155. }
  156. if (idEnd == null) {
  157. queryWrapper.le("id",idEnd);
  158. }
  159. List<XrpProjectplan> list = xrpProjectplanMapper.selectList(queryWrapper);
  160. list.forEach(System.out::println);
  161. }
  162. //组装条件 Condition
  163. @Test
  164. public void testCondition(){
  165. String year="5";
  166. Long idBegin=1570251304856838145L;
  167. Long idEnd=1570284357834518534L;
  168. QueryWrapper<XrpProjectplan> queryWrapper=new QueryWrapper<>();
  169. queryWrapper.like(StringUtils.isNotEmpty(year),"year",year)
  170. .ge(idBegin!=null,"id",idBegin)
  171. .le(idEnd!=null,"id",idEnd);
  172. List<XrpProjectplan> xrpProjectplanList = xrpProjectplanMapper.selectList(queryWrapper);
  173. xrpProjectplanList.forEach(System.out::println);
  174. }
  175. @Test
  176. public void TestLambda(){
  177. String year="5";
  178. Long idBegin=1570251304856838145L;
  179. Long idEnd=1570284357834518534L;
  180. LambdaQueryWrapper<XrpProjectplan> lambdaQueryWrapper = new LambdaQueryWrapper<>();
  181. lambdaQueryWrapper.like(StringUtils.isNotBlank(year),XrpProjectplan::getYear,year)
  182. .ge(idBegin!=null,XrpProjectplan::getId,idBegin)
  183. .le(idEnd!=null,XrpProjectplan::getId,idEnd);
  184. List<XrpProjectplan> list = xrpProjectplanMapper.selectList(lambdaQueryWrapper);
  185. list.forEach(System.out::println);
  186. }
  187. }