一、簡介
MybatisPlusLambdaQueryWrapper是Mybatis-Plus提供的一種構造查詢條件的方式,它可以通過Lambda表達式來進行條件查詢,代替了之前的寫法,使得代碼更加簡潔、易讀且減少錯誤發生的可能性。
下面將從以下幾個方面來詳細介紹MybatisPlusLambdaQueryWrapper的使用方法:
二、構造查詢條件
當我們需要構造查詢條件時,可以使用MybatisPlusLambdaQueryWrapper的靜態方法,例如,查詢id為1的記錄:
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(User::getId, 1); List<User> userList = userMapper.selectList(wrapper);
其中,eq()方法表示相等查詢,第一個參數傳入實體類字段,第二個參數傳入對應的值。通過以上代碼,我們就能查詢到id為1的User記錄。
如果我們需要多個條件查詢,可以多次調用方法,例如,查詢年齡在20到30歲之間的User記錄:
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>(); wrapper.between(User::getAge, 20, 30); List<User> userList = userMapper.selectList(wrapper);
以上代碼中,between()方法表示範圍查詢,第一個參數傳入實體類字段,第二個和第三個參數分別傳入範圍的起點和終點。
三、鏈式調用
MybatisPlusLambdaQueryWrapper的方法都支持鏈式調用,使得代碼更加簡潔易讀。例如:
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getName, "張三")
.or()
.eq(User::getName, "李四");
List<User> userList = userMapper.selectList(wrapper);
以上代碼中,or()方法表示多條件查詢時的或操作。
四、模糊查詢
在實際開發中,我們常常需要進行模糊查詢,這時可以使用like()方法來進行模糊匹配。例如,查詢用戶名中包含「張」的User記錄:
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>(); wrapper.like(User::getName, "張"); List<User> userList = userMapper.selectList(wrapper);
以上代碼中,like()方法表示模糊匹配,第一個參數傳入實體類字段,第二個參數傳入需要匹配的字符串。這時查詢到的User記錄中用戶名包含「張」的所有記錄。
五、排序查詢
在查詢時,我們可能需要對結果進行排序,可以使用orderBy()方法來進行排序。例如,查詢按照id升序排序的User記錄:
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>(); wrapper.orderByAsc(User::getId); List<User> userList = userMapper.selectList(wrapper);
以上代碼中,orderByAsc()表示升序排序,傳入的參數為實體類字段。
六、分頁查詢
在實際開發中,我們經常需要進行分頁查詢,在MybatisPlusLambdaQueryWrapper中,我們可以使用分頁插件實現分頁查詢。例如,分頁查詢User記錄:
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>(); wrapper.orderByAsc(User::getId); Page<User> page = new Page<>(1, 2); IPage<User> userPage = userMapper.selectPage(page, wrapper);
以上代碼中,Page對象表示分頁信息,第一個參數傳入分頁的當前頁碼,第二個參數傳入每頁的數據量。selectPage()方法返回IPage接口,包裝了分頁的查詢結果。
七、總結
MybatisPlusLambdaQueryWrapper是Mybatis-Plus提供的一種構造查詢條件的方式,它可以通過Lambda表達式來進行條件查詢,使得代碼更加簡潔、易讀且減少錯誤發生的可能性。在使用時,我們可以通過eq()、between()等方法來構造查詢條件,通過鏈式調用來更加方便地拼接多個條件,還可以通過like()、orderBy()等方法實現模糊查詢、排序查詢。另外,我們還可以使用分頁插件來實現分頁查詢。總之,在實際開發中,MybatisPlusLambdaQueryWrapper是一個很重要的工具,掌握它的使用方法對於我們提高代碼質量、效率都有很大的幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/243476.html
微信掃一掃
支付寶掃一掃