• springboot 使用 mybatis + mapper


    首先引入相关pom

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-jdbc</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>2.0.1</version>
            </dependency>
    
            <dependency>
                <groupId>tk.mybatis</groupId>
                <artifactId>mapper-spring-boot-starter</artifactId>
                <version>2.1.5</version>
            </dependency>
    
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.16</version>
            </dependency>
    
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>1.1.16</version>
            </dependency>

    新建MyMapper类

    package com.chao.notify.mapper.base;
    
    import tk.mybatis.mapper.common.Mapper;
    import tk.mybatis.mapper.common.MySqlMapper;
    
    public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {
    
    }

    新建UUIdGenId 用于uuid主键

    public class UUIdGenId implements GenId<String> {
        @Override
        public String genId(String s, String s1) {
            return UUID.randomUUID().toString().replace("-","");
        }
    }

    新建model类

    @Table(name = "t_user")
    public class TUser {
    
        @Id
        @KeySql(genId = UUIdGenId.class)
        private String id;
    
        @Column(unique = true)
        private String username;
    
        private String password;
    
        private String salt;
    
        private String name;
        /**
         * 0 未知
         * 1 男
         * 2 女
         */
        private Integer sex;
    
        private String phone;
    
        private String address;
    
        private String notes;
    
        /**
         * 停用状态
         * true  停用
         * false 启用
         */
        private Boolean disabled;
    
        /**
         * 用户角色
         * admin    管理员
         * public   普通用户
         */
        private String role;
    
        /**
         * 创建时间
         */
        private Date at;
    
        /**
         * 登录时间
         */
        private Date loginAt;
    
        public String getId() {
            return id;
        }
    
        public void setId(String id) {
            this.id = id;
        }
    
        public String getUsername() {
            return username;
        }
    
        public void setUsername(String username) {
            this.username = username;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    
        public String getSalt() {
            return salt;
        }
    
        public void setSalt(String salt) {
            this.salt = salt;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public Integer getSex() {
            return sex;
        }
    
        public void setSex(Integer sex) {
            this.sex = sex;
        }
    
        public String getPhone() {
            return phone;
        }
    
        public void setPhone(String phone) {
            this.phone = phone;
        }
    
        public String getAddress() {
            return address;
        }
    
        public void setAddress(String address) {
            this.address = address;
        }
    
        public String getNotes() {
            return notes;
        }
    
        public void setNotes(String notes) {
            this.notes = notes;
        }
    
        public Boolean getDisabled() {
            return disabled;
        }
    
        public void setDisabled(Boolean disabled) {
            this.disabled = disabled;
        }
    
        public String getRole() {
            return role;
        }
    
        public void setRole(String role) {
            this.role = role;
        }
    
        public Date getAt() {
            return at;
        }
    
        public void setAt(Date at) {
            this.at = at;
        }
    
        public Date getLoginAt() {
            return loginAt;
        }
    
        public void setLoginAt(Date loginAt) {
            this.loginAt = loginAt;
        }
    }

    新建UserMapper类

    @Mapper
    public interface UserMapper extends MyMapper<TUser> {
    
    }

    application.properties配置

    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=Asia/Shanghai&useSSL=false
    spring.datasource.username=root
    spring.datasource.password=root
    spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
    
    #初始化链接数  最小空闲链接数  最大链接数
    spring.datasource.druid.initial-size=5
    spring.datasource.druid.min-idle=5
    spring.datasource.druid.max-active=20
    #获取连接的超时时间 单位毫秒
    spring.datasource.druid.max-wait=60000
    #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
    spring.datasource.druid.time-between-eviction-runs-millis=60000
    
    
    
    mybatis.type-aliases-package=com.chao.notify.model
    mapper.mappers=com.chao.notify.mapper.base.MyMapper
  • 相关阅读:
    IDEA里运行程序时出现Error:scalac:error while loading JUnit4 , Scala signature JUnit4 has wrong version错误的解决办法(图文详解)
    全网最详细的最新稳定OSSEC搭建部署(ossec-server(CentOS6.X)和ossec-agent(CentOS6.X))(图文详解)
    SPSS学习系列之SPSS Modeler怎么修改默认的内存大小(图文详解)
    [转]innodb的锁时间
    [转]MySQL-死锁查询
    [转]mysql优化——show processlist命令详解
    mysql 手册
    [转]1、蓝牙核心技术了解(蓝牙协议、架构、硬件和软件笔记)
    [转]低功耗蓝牙技术连接的那点事
    [转]Ble蓝牙的使用手册
  • 原文地址:https://www.cnblogs.com/rchao/p/11018683.html
Copyright © 2020-2023  润新知