# 快速开始

假设有张表如下:

CREATE TABLE IF NOT EXISTS `student`
(
  `id`        INTEGER PRIMARY KEY auto_increment,
  `firstname` varchar(64) DEFAULT NULL COMMENT '名',
  `lastname` varchar(64) DEFAULT NULL COMMENT '姓',
  `age` int default null COMMENT '年龄',
  `active` tinyint(4) DEFAULT NULL COMMENT '状态',
  `start_date` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '开始日期'
);

INSERT  INTO `student`
VALUES (1,'Jim', 'Green', 22, 1, '2018-02-21 10:37:00'),
(2,'三', '张', 30, 1, '2019-11-21 11:37:44'),
(3,'四', '张', 40, 1, '2017-12-21 12:55:00'),
(4,'五一', '李', 40, 1, null),
(5,'六', '张', null, 0, '2016-07-21 10:44:00');
  • 新建一个springboot项目

在resources下面创建一个文件:schema.sql,并将上面的SQL语句放进来

  • pom.xml添加fastmybatis-spring-boot-starter
<dependency>
    <groupId>io.gitee.durcframework</groupId>
    <artifactId>fastmybatis-spring-boot-starter</artifactId>
    <version>3.0.14</version>
</dependency>

<!-- h2 数据库 -->
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>1.4.199</version>
</dependency>

application.properties添加数据库配置

spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:test
spring.datasource.schema=classpath:schema.sql
spring.datasource.username=root
spring.datasource.password=root

添加实体类:

@Table(name = "student", pk = @Pk(name = "id", strategy = PkStrategy.INCREMENT))
public class Student {
    private Integer id;
    private String firstname;
    private String lastname;
    private Integer age;
    private Byte active;
    private Date startDate;
    
    省略getter setter
}

添加Mapper

public interface StudentMapper extends CrudMapper<Student, Integer> {

}

编写测试用例

@RunWith(SpringRunner.class)
@SpringBootTest
public class StudentServiceTest {

    @Resource
    private StudentMapper studentMapper;

    @Test
    public void list() {
        LambdaQuery<Student> query = Query.create(Student.class)
                .eq(Student::getLastname, "张");
        List<Student> list = studentMapper.list(query);
        for (Student student : list) {
            System.out.println(student);
        }
    }

}