mybatis mysql set命令_Mybatis-Plus 常用操作

MyBatis-Plus系列推荐阅读顺序:

本文目录结构

一、SQL日志开关

二、常用注解

三、代码生成器

四、分页查询

五、Mybatis-Plus Wrapper

六、自动填充数据功能

七、逻辑删除

八、乐观锁

一、SQL日志开关

配置文件application.properties,增加最后一行,执行时会打印出 sql 语句。

spring.application.name=mybatis-plus

# 应用服务 WEB 访问端口

server.port=8080

####数据库连接池###

spring.datasource.url=jdbc:mysql://101.133.227.13:3306/orders_1?useSSL=false&useUnicode=true&characterEncoding=UTF-8

spring.datasource.username=guo

spring.datasource.password=205010guo

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

####输出sql日志###

mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

类似JPA的日志输出配置:

jpa:

show-sql:true#打印SQL。

二、常用注解

2.1【@TableName 】

@TableName 用于定义表名

注:

常用属性:

value 用于定义表名

2.2【@TableId】

@TableId 用于定义表的主键

注:

常用属性:

value 用于定义主键字段名

type 用于定义主键类型(主键策略 IdType)

主键策略:

IdType.AUTO 主键自增,系统分配,不需要手动输入

IdType.NONE 未设置主键

IdType.INPUT 需要自己输入 主键值。

IdType.ASSIGN_ID 系统分配 ID,用于数值型数据(Long,对应 mysql 中 BIGINT 类型)。

IdType.ASSIGN_UUID 系统分配 UUID,用于字符串型数据(String,对应 mysql 中 varchar(32) 类型)。

2.3【@TableField】

@TableField 用于定义表的非主键字段。

注:

常用属性:

value 用于定义非主键字段名

exist 用于指明是否为数据表的字段, true 表示是,false 为不是。

fill 用于指定字段填充策略(FieldFill)。

字段填充策略:(一般用于填充 创建时间、修改时间等字段)

FieldFill.DEFAULT 默认不填充

FieldFill.INSERT 插入时填充

FieldFill.UPDATE 更新时填充

FieldFill.INSERT_UPDATE 插入、更新时填充。

2.4【@TableLogic】

@TableLogic 用于定义表的字段进行逻辑删除(非物理删除)

注:

常用属性:

value 用于定义未删除时字段的值

delval 用于定义删除时字段的值

2.5【@Version】

@Version 用于字段实现乐观锁

三、代码生成器

3.1 AutoGenerator 简介

AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。  与 mybatis 中的 mybatis-generator-core 类似。

3.2 添加依赖

com.baomidou

mybatis-plus-generator

${mp.version}

org.apache.velocity

velocity-engine-core

2.2

3.3 生成器代码分析

Step1:

创建一个 代码生成器。用于生成代码。

此处不用修改。

// Step1:代码生成器

AutoGenerator mpg = new AutoGenerator();

Step2:

配置全局信息。指定代码输出路径,以及包名、作者等信息。

此处按需添加,projectPath 需要修改,setAuthor 需要修改。

// Step2:全局配置

GlobalConfig gc = new GlobalConfig();

// 填写代码生成的目录(需要修改)

String projectPath = "E:\\myProject\\test\\test_mybatis_plus";

// 拼接出代码最终输出的目录

gc.setOutputDir(projectPath + "/src/main/java");

// 配置开发者信息(可选)(需要修改)

gc.setAuthor("郭秀志 [email protected]");

// 配置是否打开目录,false 为不打开(可选)

gc.setOpen(false);

// 实体属性 Swagger2 注解,添加 Swagger 依赖,开启 Swagger2 模式(可选)

//gc.setSwagger2(true);

// 重新生成文件时是否覆盖,false 表示不覆盖(可选)

gc.setFileOverride(false);

// 配置主键生成策略,此处为 ASSIGN_ID(可选)

gc.setIdType(IdType.ASSIGN_ID);

// 配置日期类型,此处为 ONLY_DATE(可选)

gc.setDateType(DateType.ONLY_DATE);

// 默认生成的 service 会有 I 前缀

gc.setServiceName("%sService");

mpg.setGlobalConfig(gc);

Step3:

配置数据源信息。用于指定 需要生成代码的 数据仓库、数据表。

setUrl、setDriverName、setUsername、setPassword均需修改。

// Step3:数据源配置(需要修改)

DataSourceConfig dsc = new DataSourceConfig();

// 配置数据库 url 地址

dsc.setUrl("jdbc:mysql://localhost:3306/testMyBatisPlus?useUnicode=true&characterEncoding=utf8");

// dsc.setSchemaName("testMyBatisPlus"); // 可以直接在 url 中指定数据库名

// 配置数据库驱动

dsc.setDriverName("com.mysql.cj.jdbc.Driver");

// 配置数据库连接用户名

dsc.setUsername("root");

// 配置数据库连接密码

dsc.setPassword("123456");

mpg.setDataSource(dsc);

Step4:

配置包信息。

setParent、setModuleName均需修改。其余按需求修改.

// Step:4:包配置

PackageConfig pc = new PackageConfig();

// 配置父包名(需要修改)

pc.setParent("com.erbadagang.mybatis.plus");

// 配置模块名(需要修改)

//pc.setModuleName("mybatis-plus-starter");

// 配置 entity 包名

pc.setEntity("entity");

// 配置 mapper 包名

pc.setMapper("mapper");

// 配置 service 包名

pc.setService("service");

// 配置 controller 包名

pc.setController("controller");

mpg.setPackageInfo(pc);

Step5:

配置数据表映射信息。

setInclude 需要修改,其余按实际开发修改。

// Step5:策略配置(数据库表配置)

StrategyConfig strategy = new StrategyConfig();

// 指定表名(可以同时操作多个表,使用 , 隔开)(需要修改)

strategy.setInclude("t_user");

// 配置数据表与实体类名之间映射的策略

strategy.setNaming(NamingStrategy.underline_to_camel);

// 配置数据表的字段与实体类的属性名之间映射的策略

strategy.setColumnNaming(NamingStrategy.underline_to_camel);

// 配置 lombok 模式

strategy.setEntityLombokModel(true);

// 配置 rest 风格的控制器(@RestController)

strategy.setRestControllerStyle(true);

// 配置驼峰转连字符

strategy.setControllerMappingHyphenStyle(true);

// 配置表前缀,生成实体时去除表前缀

// 此处的表名为 test_mybatis_plus_user,模块名为 test_mybatis_plus,去除前缀后剩下为 user。

strategy.setTablePrefix(pc.getModuleName() + "_");

mpg.setStrategy(strategy);

表t_user建表SQL:

/*

Navicat Premium Data Transfer

Source Server : 上海

Source Server Type : MySQL

Source Server Version : 50636

Source Host : 101.133.227.13:3306

Source Schema : orders_1

Target Server Type : MySQL

Target Server Version : 50636

File Encoding : 65001

Date: 10/07/2020 16:28:23

*/

SET NAMES utf8mb4;

SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------

-- Table structure for t_user

-- ----------------------------

DROP TABLE IF EXISTS `t_user`;

CREATE TABLE `t_user` (

`id` bigint(20) NOT NULL AUTO_INCREMENT,

`user_name` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,

`password` varchar(55) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,

`pwd_cipher` varchar(55) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,

PRIMARY KEY (`id`) USING BTREE

) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

Step6:

执行代码生成操作。

此处不用修改。

// Step6

你可能感兴趣的:(mybatis,mysql,set命令)