zoukankan      html  css  js  c++  java
  • SpringBoot整合通用Mapper(MyBatis)

    导包

    <!--数据库驱动-->
    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    </dependency>

    <!--连接池-->
    <!--<dependency>-->
    <!--<groupId>org.springframework.boot</groupId>-->
    <!--<artifactId>spring-boot-starter-jdbc</artifactId>-->
    <!--</dependency>-->
    <!--mybatis -->
    <!--<dependency>-->
    <!--<groupId>org.mybatis.spring.boot</groupId>-->
    <!--<artifactId>mybatis-spring-boot-starter</artifactId>-->
    <!--<version>1.3.2</version>-->
    <!--</dependency>-->
    <!--通用mapper,依赖导入了以上两个启动器-->
    <dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper-spring-boot-starter</artifactId>
    <version>2.1.5</version>
    </dependency>

    启动器

    package com.company;

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import tk.mybatis.spring.annotation.MapperScan;

    @SpringBootApplication
    @MapperScan("com.company.mapper")//扫描接口,注意要使用通用Mapper包的注解
    public class BootDemoApplication {

    public static void main(String[] args) {
    SpringApplication.run(BootDemoApplication.class,args);
    }
    }

    配置application.yaml

      

    #配置com.zaxxer:HikariCP:3.4.1连接池
    spring:
    datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT
    username: root
    password: root

    #整合mybatis
    mybatis:
    #启用别名,配置实体类路径
    type-aliases-package: com.company.pojo

    实体类

    package com.company.pojo;

    import lombok.Data;
    import tk.mybatis.mapper.annotation.KeySql;

    import javax.persistence.Id;
    import javax.persistence.Table;
    import javax.persistence.Transient;
    import java.util.Date;
    @Data
    @Table(name="tb_user")//指定表名
    public class User {
    @Id//主键
    @KeySql(useGeneratedKeys = true)//自动增长
    private Long id;
    private String userName;
    private String password;
    private String name;
    private Integer age;
    //1男,2女
    private Integer sex;
    private Date birthday;
    private String note;
    private Date created;
    // @Transient 忽略该字段
    private Date updated;
    }

    接口

    package com.company.mapper;

    import com.company.pojo.User;
    import tk.mybatis.mapper.common.Mapper;
    //继承通用Mapper的Mapper接口,指定泛型为对应实体类
    public interface UserMapper extends Mapper<User>{
    }

    这样通用Mapper就会生成单表的通用方法及sql

     当你引入

    spring-boot-starter-jdbc启动器的时候
    SpringBoot就已经为我们配置好事务控制了,只需要在service中需要事务的方法上加上@Transactional注解即可
  • 相关阅读:
    023 AQS--JUC的核心
    022 Future接口
    021 Callable接口
    020 线程的综合考虑
    019 线程协作
    命令,lldb,llvm,gdb,gcc,
    @class,import,
    arc,自动引用计数,
    写在哪里,
    40岁生日,
  • 原文地址:https://www.cnblogs.com/zou-rong/p/12566257.html
Copyright © 2011-2022 走看看