| |
| |
| |
| |
| @RequestMapping("/get0") |
| @ResponseBody |
| public String test0(){ |
| LambdaQueryWrapper<User> userLambdaQueryWrapper = Wrappers.lambdaQuery(); |
| |
| userLambdaQueryWrapper.like(User::getUsername , "a"); |
| |
| Page<User> userPage = new Page<>(1 , 3); |
| IPage<User> userIPage = userMapper.selectPage(userPage , userLambdaQueryWrapper); |
| System.out.println("总页数: "+userIPage.getPages()); |
| System.out.println("总记录数: "+userIPage.getTotal()); |
| |
| userIPage.getRecords().forEach(System.out::println); |
| return "aaa"; |
| } |
| |
| |
| |
| |
| |
| @RequestMapping("/get1") |
| @ResponseBody |
| public String test1(){ |
| LambdaQueryWrapper<User> userLambdaQueryWrapper = Wrappers.lambdaQuery(); |
| userLambdaQueryWrapper.like(User::getUsername , "a"); |
| Page<User> userPage = new Page<>(1 , 2 , false); |
| IPage<User> userIPage = userMapper.selectPage(userPage , userLambdaQueryWrapper); |
| System.out.println("总页数: "+userIPage.getPages()); |
| System.out.println("总记录数: "+userIPage.getTotal()); |
| userIPage.getRecords().forEach(System.out::println); |
| return "aaa"; |
| } |
| |
| |
| |
| |
| |
| @RequestMapping("/get2") |
| @ResponseBody |
| public String test2(){ |
| LambdaQueryWrapper<User> userLambdaQueryWrapper = Wrappers.lambdaQuery(); |
| |
| userLambdaQueryWrapper.select(User::getUsername).like(User::getUsername , "a"); |
| |
| Page<Map<String , Object>> mapPage = new Page<>(1 , 2 , false); |
| IPage<Map<String , Object>> mapIPage = userMapper.selectMapsPage(mapPage , userLambdaQueryWrapper); |
| System.out.println("总页数: "+mapIPage.getPages()); |
| System.out.println("总记录数: "+mapIPage.getTotal()); |
| |
| mapIPage.getRecords().forEach(System.out::println); |
| return "aaa"; |
| } |
| |
| |
| |
| |
| |
| @RequestMapping("/get3") |
| @ResponseBody |
| public String test3(){ |
| |
| LambdaQueryWrapper<User> userLambdaQueryWrapper = Wrappers.lambdaQuery(); |
| |
| userLambdaQueryWrapper.like(User::getUsername , "a"); |
| |
| Page<User> mapPage = new Page<>(1 , 2 , false); |
| |
| IPage<User> mapIPage = userMapper.selectByPage(mapPage , userLambdaQueryWrapper); |
| System.out.println("总页数: "+mapIPage.getPages()); |
| System.out.println("总记录数: "+mapIPage.getTotal()); |
| |
| mapIPage.getRecords().forEach(System.out::println); |
| return "aaa"; |
| } |
| |
| @Component |
| public interface UserMapper extends BaseMapper<User> { |
| IPage<User> selectByPage(IPage<User> userPage, @Param(Constants.WRAPPER) Wrapper<User> userWrapper); |
| } |
| |
| <select id="selectByPage" resultType="com.ychen.mybatis.demo01.model.User"> |
| select * from user ${ew.customSqlSegment} |
| </select> |
| @GetMapping("/findUser") |
| @ResponseBody |
| public String testFind(){ |
| List<UserBookPo> users = userMapper.findUser(); |
| System.out.println(users); |
| return "aaa"; |
| } |
| |
| @GetMapping("/findUsers") |
| @ResponseBody |
| public String testLimit(){ |
| List<User> users = userMapper.findUsers(); |
| System.out.println(users); |
| return "aaa"; |
| } |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| @RequestMapping(value = "/listAll", method = RequestMethod.POST) |
| @ResponseBody |
| public String testList(@RequestBody UserBookReqDTO req){ |
| List<UserBookRespDTO> list = userMapper.getUserBook(req); |
| System.out.println(list); |
| return "aaa"; |
| } |
| |
| |
| @RequestMapping("/get0") |
| @ResponseBody |
| public String test0(){ |
| |
| LambdaQueryWrapper<User> userLambdaQueryWrapper = Wrappers.lambdaQuery(); |
| |
| userLambdaQueryWrapper.like(User::getUsername , "c"); |
| |
| Page<User> mapPage = new Page<>(1 , 2 , false); |
| |
| IPage<User> mapIPage = userMapper.selectByPage(mapPage , userLambdaQueryWrapper); |
| System.out.println("总页数: "+mapIPage.getPages()); |
| System.out.println("总记录数: "+mapIPage.getTotal()); |
| |
| mapIPage.getRecords().forEach(System.out::println); |
| return "aaa"; |
| } |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| @RequestMapping("/get1") |
| @ResponseBody |
| public String test1(@RequestBody UserBookReqDTO req){ |
| int pageNo = 1; |
| int pageSize = 3; |
| String username = req.getUsername(); |
| String sex = req.getSex(); |
| String bookname = req.getBookname(); |
| |
| QueryWrapper<UserBookRespDTO> wrapper = new QueryWrapper<>(); |
| |
| Page<UserBookRespDTO> page = new Page<UserBookRespDTO>(pageNo, pageSize); |
| |
| IPage<UserBookRespDTO> userPageList = userMapper.getUserBooks(username, sex, bookname, page, wrapper); |
| System.out.println(userPageList); |
| return "aaa"; |
| } |
| |
| |
| |
| @SelectProvider(type = findUserProvider.class, method = "findUser") |
| List<UserBookPo> findUser(); |
| |
| class findUserProvider { |
| public String findUser() { |
| String sql = new SQL() |
| .SELECT("u.username", "u.password", "b.bookname", "b.author") |
| .FROM("user u") |
| .INNER_JOIN("book b") |
| .WHERE("u.username = b.author") |
| .toString(); |
| return sql; |
| } |
| } |
| |
| |
| @SelectProvider(type = findUsersProvider.class, method = "findUsers") |
| List<User> findUsers(); |
| |
| class findUsersProvider { |
| public String findUsers() { |
| String sql = new SQL() |
| .SELECT("id", "username", "password", "sex", "birthday") |
| .FROM("user") |
| .LIMIT("2, 3") |
| .toString(); |
| return sql; |
| } |
| } |
| |
| |
| @SelectProvider(type = getUserBookProvider.class, method = "getUserBook") |
| List<UserBookRespDTO> getUserBook(UserBookReqDTO user); |
| |
| class getUserBookProvider { |
| public String getUserBook(UserBookReqDTO user) { |
| SQL sql = new SQL(); |
| sql.SELECT("u.id", "u.username", "u.password", "u.sex", "u.birthday", "b.id", "b.bookname", "b.author", "b.price") |
| .FROM("user u").INNER_JOIN("book b").WHERE("u.username = b.author"); |
| if(user.getUsername() != null) { |
| sql.SET("username=#{user.username}"); |
| } |
| if(user.getSex() != null) { |
| sql.SET("sex = #{user.sex}"); |
| } |
| if(user.getBookname() != null) { |
| sql.SET("bookname = #{user.bookname}"); |
| } |
| if(user.getAuthor() != null) { |
| sql.SET("author = #{user.author}"); |
| } |
| if(user.getPrice() != null) { |
| sql.SET("price = #{user.price}"); |
| } |
| if(user.getPageSize() != null && user.getPageNum() != null) { |
| sql.LIMIT("#{user.pageNum}, #{user.pageSize}"); |
| } |
| return sql.toString(); |
| } |
| } |
| |
| |
| IPage<User> selectByPage(IPage<User> userPage, @Param(Constants.WRAPPER) Wrapper<User> userWrapper); |
| |
| |
| IPage<UserBookRespDTO> getUserBooks(@Param("username") String username, @Param("sex") String sex, @Param("bookname") String bookname, @Param("page") Page<UserBookRespDTO> page, @Param(Constants.WRAPPER) Wrapper<UserBookRespDTO> wrapper); |
| |
| |
| <select id="selectByPage" resultType="com.ychen.mybatis.demo02.model.User"> |
| select * from user ${ew.customSqlSegment} |
| </select> |
| |
| <select id="getUserBooks" resultType="com.ychen.mybatis.demo02.model.dto.UserBookRespDTO"> |
| SELECT |
| u.id, |
| u.username, |
| u.password, |
| u.sex, |
| u.birthday, |
| b.bookname, |
| b.author, |
| b.price |
| FROM |
| user AS u |
| LEFT JOIN book AS b ON u.username = b.author |
| <where> |
| <if test="username !=null and username!=''"> |
| or u.username like concat('%',#{username},'%') |
| </if> |
| <if test="sex !=null and sex!=''"> |
| or u.sex like concat('%',#{sex},'%') |
| </if> |
| |
| <if test="bookname != null and bookname!=''"> |
| or b.bookname like concat('%',#{bookname}'%') |
| </if> |
| </where> |
| ${ew.customSqlSegment} |
| </select> |
| public interface UserDao extends BaseMapper<User> { |
| |
| } |
| |
| |
| |
| |
| |
| |
| @GetMapping("/test1") |
| @ResponseBody |
| public String test1() { |
| List<User> users = userDao.selectList(null); |
| users.forEach(user-> System.out.println("user = " + user)); |
| return "success"; |
| } |
| |
| |
| |
| |
| |
| @GetMapping("/test2") |
| @ResponseBody |
| public String test2() { |
| User user = userDao.selectById("1"); |
| System.out.println("user = " + user); |
| return "success"; |
| } |
| |
| |
| |
| |
| |
| @GetMapping("/test3") |
| @ResponseBody |
| public String test3() { |
| QueryWrapper<User> queryWrapper = new QueryWrapper<>(); |
| |
| queryWrapper.eq("age",23); |
| |
| |
| |
| |
| |
| |
| List<User> users = userDao.selectList(queryWrapper); |
| users.forEach(user-> System.out.println(user)); |
| return "success"; |
| } |
| |
| |
| |
| |
| |
| |
| |
| |
| @GetMapping("/test4") |
| @ResponseBody |
| public String test4() { |
| QueryWrapper<User> queryWrapper = new QueryWrapper<>(); |
| queryWrapper.likeRight("name","g"); |
| List<User> users = userDao.selectList(queryWrapper); |
| users.forEach(user-> System.out.println("user = " + user)); |
| return "success"; |
| } |
| |
| |
| |
| |
| |
| @GetMapping("/test5") |
| @ResponseBody |
| public String test5() { |
| User entity = new User(); |
| entity.setId("4").setAge(23).setName("小明明").setBir(new Date()); |
| userDao.insert(entity); |
| return "success"; |
| } |
| |
| |
| |
| |
| |
| @GetMapping("/test6") |
| @ResponseBody |
| public String test6() { |
| |
| |
| |
| userDao.deleteBatchIds(Arrays.asList(5, 6)); |
| return "success"; |
| } |
| |
| |
| |
| |
| |
| @GetMapping("/test7") |
| @ResponseBody |
| public String test7() { |
| User user = userDao.selectById("1"); |
| user.setAge(99); |
| userDao.updateById(user); |
| return "success"; |
| } |
| |
| |
| |
| |
| |
| |
| @GetMapping("/test8") |
| @ResponseBody |
| public String test8() { |
| User user = userDao.selectById("1"); |
| user.setName("狗蛋"); |
| QueryWrapper<User> updateWrapper = new QueryWrapper<>(); |
| |
| updateWrapper.eq("age",99); |
| userDao.update(user, updateWrapper); |
| return "success"; |
| } |
| |
| |
| |
| |
| |
| @GetMapping("/test9") |
| @ResponseBody |
| public String test9() { |
| |
| IPage<User> page = new Page<>(1,2); |
| |
| page = userDao.selectPage(page, null); |
| page.getRecords().forEach(user -> System.out.println("user = " + user)); |
| return "success"; |
| } |
| |
| |
| |
| |
| |
| |
| @GetMapping("/test10") |
| @ResponseBody |
| public String test10() { |
| |
| QueryWrapper<User> queryWrapper = new QueryWrapper<>(); |
| queryWrapper.eq("age",99); |
| |
| IPage<User> page = new Page<>(1,2); |
| |
| page = userDao.selectPage(page, queryWrapper); |
| page.getRecords().forEach(user-> System.out.println("user = " + user)); |
| return "success"; |
| } |
| |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?