当前位置: 首页 > news >正文

springboot+mybaties-plus自动建表

依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mybatis-plus-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.0</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.20</version>
</dependency>
<!--mybatis-plus自动建表-->
<dependency>
    <groupId>com.gitee.sunchenbin.mybatis.actable</groupId>
    <artifactId>mybatis-enhance-actable</artifactId>
    <version>1.5.0.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.12</version>
</dependency>
<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
</dependency>

application配置 

spring:
  application:
    name: mybaties-plus-service
#数据库配置
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.zaxxer.hikari.HikariDataSource
    url: jdbc:mysql://127.0.0.1:3306/zhongdemo?allowPublicKeyRetrieval=true&userSSL=true&useUnicode=true&characterEncoding=UTF8&serverTimezone=Asia/Shanghai
    username: zhong
    password: zhong123456
    hikari:
      minimum-idle: 10
      maximum-pool-size: 20
      idle-timeout: 30000
      max-lifetime: 1800000
      connection-timeout: 30000
      connection-test-query: SELECT 1
      validation-timeout: 3000
#自动建表设置
mybatis:
  table:
    auto: update
  model:
    #扫描用于创建表的对象的包名
    pack: com.zhong.spring.mybatiesplusdemo.entity
  database:
    type: mysql

#mybatis
mybatis-plus:
  mapper-locations: classpath*:com/gitee/sunchenbin/mybatis/actable/mapping/*/*.xml   #固定的

 启动类配置

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

/**
 * @author ZSC
 * @date 2022/8/30 - 9:10
 */
@MapperScan("com.gitee.sunchenbin.mybatis.actable.dao.*")  //固定的
//"com.gitee.sunchenbin.mybatis.actable.manager.*  必须要有
@SpringBootApplication(scanBasePackages = {"com.zhong.spring.mybatiesplusdemo.*", "com.gitee.sunchenbin.mybatis.actable.manager.*"})
public class MybatiesPlusDemoApplication {

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

实体映射类配置

@Data
@TableName(value = "zhong_test")
public class TestEntity {

    @Column(name = "id", type = MySqlTypeConstant.BIGINT, isNull = false, isKey = true, comment = "id")
    private Long id;


    @TableField(value = "name")
    @Column(name = "name", type = MySqlTypeConstant.VARCHAR, length = 64, comment = "名称")
    private String name;


    /**
     * IsNativeDefValue:开启默认值原生模式
     * 原生模式介绍:默认是false表示非原生,此时value只支持字符串形式,会将value值以字符串的形式设置到字段的默认值,例如value="aa" 即sql为 DEFAULT "aa"
     * 如果设置isNative=true,此时如果value="CURRENT_TIMESTAMP",即sql为 DEFAULT CURRENT_TIMESTAMP
     */
    @TableField(value = "create_time")
    @DefaultValue(value = "CURRENT_TIMESTAMP")
    @IsNativeDefValue
    @Column(name = "create_time", type = MySqlTypeConstant.TIMESTAMP, isNull = false, comment = "创建时间")
    private String creatTime;

}

结果:

 官网:SpringBoot配置方式 · 语雀

相关文章:

  • 企业IP地址跟踪
  • C++ 小游戏 视频及资料集(3)
  • 十、ThreadPoolExecutor 手撕核心源码
  • Refind多引导系统界面
  • 变身小小科学家 南瓜科学让孩子爱上实验
  • 分布式之ZooKeeper概述
  • app毕业设计开题报告基于Uniapp实现的移动端的医生寻访平台计算机毕业设计
  • 分布式链路追踪技术 Sleuth +Zipkin
  • wsl kali-linux 安装记录
  • SpringBoot整合minio分布式文件实操
  • 电商API按关键字搜索商品
  • 低代码平台类型多,选型记得看看这几点
  • 【Python】第七课 文件存储
  • 新突破!德国MPQ证实光子是量子比特载波的优选
  • 授权规则及规则持久化
  • HTML中设置input等文本框为不可操作
  • Java 最常见的 200+ 面试题:面试必备
  • js写一个简单的选项卡
  • js学习笔记
  • Odoo domain写法及运用
  • scala基础语法(二)
  • Spring Boot快速入门(一):Hello Spring Boot
  • TCP拥塞控制
  • 成为一名优秀的Developer的书单
  • 飞驰在Mesos的涡轮引擎上
  • 理清楚Vue的结构
  • 前端面试之CSS3新特性
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 《天龙八部3D》Unity技术方案揭秘
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​卜东波研究员:高观点下的少儿计算思维
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #laravel 通过手动安装依赖PHPExcel#
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #每天一道面试题# 什么是MySQL的回表查询
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (Java)【深基9.例1】选举学生会
  • (NSDate) 时间 (time )比较
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (一)kafka实战——kafka源码编译启动
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)程序员技术练级攻略
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .net core 依赖注入的基本用发
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .net 使用ajax控件后如何调用前端脚本
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .Net程序帮助文档制作
  • .net连接oracle数据库
  • .Net语言中的StringBuilder:入门到精通
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • @ModelAttribute使用详解