QueryWrapper、LambdaQueryWrapper以及LambdaQueryChainWrapper用法

1、QueryWrapper

.like("email", "24252") //email对应数据库中列名

    
    
   /**
      * 条件构造器 查询操作
      */
     @Test
     void TestQueryWrapperSelect() {
         //1、条件用法
         List<User> userList = userMapper.selectList(new QueryWrapper<User>()
                 .like("email", "24252")
                 .between("age", 20, 22)
                 .or()
                 .eq("name", "zcx")
         );
         System.out.println("userList:" + userList);
     <span class="token comment">//2、排序用法</span>
     List<span class="token generics function"><span class="token punctuation">&lt;</span>User<span class="token punctuation">&gt;</span></span> users <span class="token operator">=</span> userMapper<span class="token punctuation">.</span><span class="token function">selectList</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">QueryWrapper</span><span class="token generics function"><span class="token punctuation">&lt;</span>User<span class="token punctuation">&gt;</span></span><span class="token punctuation">(</span><span class="token punctuation">)</span>
             <span class="token punctuation">.</span><span class="token function">eq</span><span class="token punctuation">(</span><span class="token string">"nick_name"</span><span class="token punctuation">,</span> <span class="token string">"xx"</span><span class="token punctuation">)</span>
             <span class="token punctuation">.</span><span class="token function">orderByAsc</span><span class="token punctuation">(</span><span class="token string">"age"</span><span class="token punctuation">)</span>  <span class="token comment">//升序</span>

// .orderByDesc(“age”) //降序
.last(“limit 0,3”) //last用法:在sql末尾添加sql语句,有sql注入风险
);
System.out.println(“users:”+users);

 <span class="token punctuation">}</span>

2、LambdaQueryWrapper

queryWrapper.eq(User::getName,"liangd1"); //可以通过Lambda获取数据库列名

 
 
     @Test
     void TestLambdaQueryWrapper() {
         //1、查询单条
         LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(User::getName,"liangd1");
         User selectOne = userMapper.selectOne(queryWrapper);
         System.out.println(selectOne);
     <span class="token comment">//2、查询list以及统计条数</span>
     queryWrapper<span class="token punctuation">.</span><span class="token function">eq</span><span class="token punctuation">(</span>User<span class="token operator">:</span><span class="token operator">:</span>getName<span class="token punctuation">,</span> <span class="token string">"zcx"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
     List<span class="token generics function"><span class="token punctuation">&lt;</span>User<span class="token punctuation">&gt;</span></span> userList <span class="token operator">=</span> userMapper<span class="token punctuation">.</span><span class="token function">selectList</span><span class="token punctuation">(</span>queryWrapper<span class="token punctuation">)</span><span class="token punctuation">;</span>
     System<span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span><span class="token string">"userList:"</span> <span class="token operator">+</span> userList<span class="token punctuation">)</span><span class="token punctuation">;</span>
     Integer result <span class="token operator">=</span> userMapper<span class="token punctuation">.</span><span class="token function">selectCount</span><span class="token punctuation">(</span>queryWrapper<span class="token punctuation">)</span><span class="token punctuation">;</span>
     System<span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span><span class="token string">"result:"</span> <span class="token operator">+</span> result<span class="token punctuation">)</span><span class="token punctuation">;</span>
 <span class="token punctuation">}</span>

3、LambdaQueryChainWrapper

//链式查询方式
User one = new LambdaQueryChainWrapper<>(userMapper)
                 .eq(User::getName, "liangd1")
                 .one();

 
 
     @Test
     void TestLambdaQueryChainWrapper() {
         //1、eq查询单条
         User one = new LambdaQueryChainWrapper<>(userMapper)
                 .eq(User::getName, "liangd1")
                 .one();
         System.out.println("UserOne:" + one);
     <span class="token comment">//2、查询list</span>
     List<span class="token generics function"><span class="token punctuation">&lt;</span>User<span class="token punctuation">&gt;</span></span> users <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">LambdaQueryChainWrapper</span><span class="token operator">&lt;</span><span class="token operator">&gt;</span><span class="token punctuation">(</span>userMapper<span class="token punctuation">)</span>
             <span class="token punctuation">.</span><span class="token function">eq</span><span class="token punctuation">(</span>User<span class="token operator">:</span><span class="token operator">:</span>getName<span class="token punctuation">,</span> <span class="token string">"zcx"</span><span class="token punctuation">)</span>
             <span class="token punctuation">.</span><span class="token function">list</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
     System<span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span><span class="token string">"UserList:"</span> <span class="token operator">+</span> users<span class="token punctuation">)</span><span class="token punctuation">;</span>

     <span class="token comment">//3、模糊查询</span>
     List<span class="token generics function"><span class="token punctuation">&lt;</span>User<span class="token punctuation">&gt;</span></span> LikeList <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">LambdaQueryChainWrapper</span><span class="token operator">&lt;</span><span class="token operator">&gt;</span><span class="token punctuation">(</span>userMapper<span class="token punctuation">)</span>
             <span class="token punctuation">.</span><span class="token function">like</span><span class="token punctuation">(</span>User<span class="token operator">:</span><span class="token operator">:</span>getEmail<span class="token punctuation">,</span> <span class="token string">"test"</span><span class="token punctuation">)</span>
             <span class="token punctuation">.</span><span class="token function">list</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
     System<span class="token punctuation">.</span>out<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span><span class="token string">"LikeUser:"</span> <span class="token operator">+</span> LikeList<span class="token punctuation">)</span><span class="token punctuation">;</span>
 <span class="token punctuation">}</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值