TkMyBatis 高级查询

原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/13197586.html

 

Maven Dependency

...        
    <!--pagehelper-->
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper-spring-boot-starter</artifactId>
        <version>1.2.13</version>
    </dependency>

    <!--mybatis-->
    <dependency>
        <groupId>tk.mybatis</groupId>
        <artifactId>mapper-spring-boot-starter</artifactId>
        <version>2.1.5</version>
    </dependency>

    <dependency>
        <groupId>tk.mybatis</groupId>
        <artifactId>mapper</artifactId>
        <version>4.1.5</version>
    </dependency>

    <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-core</artifactId>
        <version>1.4.0</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid-spring-boot-starter</artifactId>
        <version>1.1.22</version>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>

    <!--lombok-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.12</version>
    </dependency>
...

 

Method

selectByExample

public void selectByExample() {
    log.info("select by example: where username = ? and password = ?");
    Example example = new Example(User.class);
    Example.Criteria criteria = example.createCriteria();
    criteria.andEqualTo("username", "update100");
    criteria.andEqualTo("password", "update100");
    List<User> resultList = userMapper.selectByExample(example);
    log.info("result list: {}", resultList);
}

 

selectByExampleAndLike

public void selectByExampleAndLike() {
    log.info("select by example with andLike: where username like = ?");
    Example example = new Example(User.class);
    Example.Criteria criteria = example.createCriteria();
    criteria.andLike("username", "%update%");
    List<User> resultList = userMapper.selectByExample(example);
    log.info("result list: {}", resultList);
}

 

selectByExampleOrderBy

public void selectByExampleOrderBy() {
    log.info("select by example with order by: where username like = ? order by id desc");
    Example example = new Example(User.class);
    example.setOrderByClause("username desc");
    Example.Criteria criteria = example.createCriteria();
    criteria.andLike("username", "%user%");
    List<User> resultList = userMapper.selectByExample(example);
    log.info("result list: {}", resultList);
}

 

selectByExampleIn

public void selectByExampleIn() {
    log.info("select by example with in: where id in (100, 101)");
    Example example = new Example(User.class);
    Example.Criteria criteria = example.createCriteria();
    criteria.andIn("id", Arrays.asList(100, 101));
    List<User> resultList = userMapper.selectByExample(example);
    log.info("result list: {}", resultList);
}

 

selectByPageInfo

public void selectByPageInfo(int pageNo, int pageSize) {
    log.info("select by PageInfo: limit ?, ?");
    PageHelper.startPage(pageNo, pageSize);
    List<User> userList = userMapper.selectAll();
    PageInfo<User> pageInfo = new PageInfo<>(userList);
    long totalPage = pageInfo.getPages();
    long totalSize = pageInfo.getTotal();
    log.info("total page: {}, total size: {}, result list: {}", totalPage, totalSize, userList);
}

 

Test

UserServiceTest.java

 1 package org.fool.redis.test;
 2 
 3 import org.fool.redis.Application;
 4 import org.fool.redis.service.UserService;
 5 import org.junit.jupiter.api.Test;
 6 import org.springframework.beans.factory.annotation.Autowired;
 7 import org.springframework.boot.test.context.SpringBootTest;
 8 
 9 @SpringBootTest(classes = Application.class)
10 public class UserServiceTest {
11     @Autowired
12     private UserService userService;
13 
14     @Test
15     public void testSelectByExample() {
16         userService.selectByExample();
17     }
18 
19     @Test
20     public void testSelectByExampleAndLike() {
21         userService.selectByExampleAndLike();
22     }
23 
24     @Test
25     public void testSelectByExampleOrderBy() {
26         userService.selectByExampleOrderBy();
27     }
28 
29     @Test
30     public void testSelectByExampleIn() {
31         userService.selectByExampleIn();
32     }
33 
34     @Test
35     public void testSelectByPageInfo() {
36         userService.selectByPageInfo(2, 10);
37     }
38 }

 

posted @ 2020-06-27 10:39  李白与酒  阅读(2863)  评论(0编辑  收藏  举报