SpringBoot2.0 整合Mybatis Mapper接口继承

SpringBoot2.0 整合Mybatis Mapper接口继承

通用 Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及Example 相关的单表操作。那么,如何在springboot中使用呢?

第一步:添加pom依赖。

<dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.2</version>
    </dependency>
<dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper-spring-boot-starter</artifactId>
    <version>2.0.0</version>
</dependency>

版本号可以根据自己的项目情况进行选择。我这里使用spring-boot 2.0.0.

第二步:配置数据库连接。

spring.datasource.url=jdbc:mysql://数据库ip:port/数据库名?characterEncoding=UTF-8
spring.datasource.username=用户名
spring.datasource.password=密码
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

第三步:添加mapper接口类。

@Mapper
public interface ScheduleInfoMapper extends BaseMapper<ScheduleEntity>{

}

@Mapper 注解,当应用启动时,自动扫描进行bean生成。
BaseMapper为通用mapper提供的接口,包含基本的单表增删改查。源码如下:

@RegisterMapper
public interface BaseMapper<T> extends BaseSelectMapper<T>, BaseInsertMapper<T>, BaseUpdateMapper<T>, BaseDeleteMapper<T> {
}

第四步:添加表结构对应的实体类。

@Table(name="schedule_info")
public class ScheduleEntity {
    @Id
    @GeneratedValue(generator = "JDBC")
    private Long id;
    @Column(name = "user_id")
    private Long userId;
    private String title;
    private String content;
    private String location;
    @Column(name="start_time")
    private Long startTime;
    @Column(name="end_time")
    private Long endTime;
    @Column(name="count_down")
    private String countDown;
    @Column(name = "is_delete")
    private Integer isDelete;
    @Column(name="create_time")
    private Long createTime;
    @Column(name="update_time")
    private Long updateTime;
}

@GeneratedValue,注解指明主键的生成方式。generator = “JDBC” 等价于AUTO,但自增只能使用generator = “JDBC”,否则会报错。

@Table指明表名称。

@Column指明表列与实体字段的对应关系

GItHub示例项目:https://github.com/guojixiang/SpringBoot 项目名:schedule。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值