springBoot+mybatisPlus快速构建工程

一、创建表结构:

CREATE TABLE `t_user` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '姓名',
  `account` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '账号',
  `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
  `telephone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '手机号',
  `creater` bigint DEFAULT NULL COMMENT '创建人ID',
  `creater_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '创建人姓名',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` bigint DEFAULT NULL COMMENT '修改人ID',
  `updater_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '修改人姓名',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  `version` int NOT NULL DEFAULT '0' COMMENT '版本号',
  `deleted` bigint NOT NULL DEFAULT '0' COMMENT '删除标识',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=642 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='测试用户';

二、插入数据:

INSERT INTO `t_user` (`name`, `account`, `password`, `telephone`, `creater`, `creater_name`, `create_time`, `updater`, `updater_name`, `update_time`, `version`, `deleted`) VALUES ('测试', 'aaa', '1234', '123432454', 1, '测试用户', NOW(), NULL, '', NOW(), 0, 0);
INSERT INTO `t_user` (`name`, `account`, `password`, `telephone`, `creater`, `creater_name`, `create_time`, `updater`, `updater_name`, `update_time`, `version`, `deleted`) VALUES ('测试新', 'were', '143243', '3456445544', 1, '测试用户', NOW(), NULL, '', NOW(), 0, 0);
INSERT INTO `t_user` (`name`, `account`, `password`, `telephone`, `creater`, `creater_name`, `create_time`, `updater`, `updater_name`, `update_time`, `version`, `deleted`) VALUES ('test', 'test', '1234324', '53324234234', 1, '测试用户', NOW(), NULL, '', NOW(), 0, 0);
INSERT INTO `t_user` (`name`, `account`, `password`, `telephone`, `creater`, `creater_name`, `create_time`, `updater`, `updater_name`, `update_time`, `version`, `deleted`) VALUES ('啦啦啦', 'trer', '54353453', '13423432432', 1, '测试用户', NOW(), NULL, '', NOW(), 0, 0);
INSERT INTO `t_user` (`name`, `account`, `password`, `telephone`, `creater`, `creater_name`, `create_time`, `updater`, `updater_name`, `update_time`, `version`, `deleted`) VALUES ('测测测', '23424', 'rwetwer4', '15158133903', 4, '测试用户', NOW(), NULL, '', NOW(), 0, 0);
INSERT INTO `t_user` (`name`, `account`, `password`, `telephone`, `creater`, `creater_name`, `create_time`, `updater`, `updater_name`, `update_time`, `version`, `deleted`) VALUES ('test', 'test', '423423re', '11111111111', 4, '测试用户', NOW(), NULL, '', NOW(), 0, 0);
INSERT INTO `t_user` (`name`, `account`, `password`, `telephone`, `creater`, `creater_name`, `create_time`, `updater`, `updater_name`, `update_time`, `version`, `deleted`) VALUES ('666', 'zzz', '343ertre34', '12345678945', 4, '测试用户', NOW(), NULL, '', NOW(), 0, 0);

三、idea创建工程:

我的idea版本较高,可选的springboot版本比较高,可以先创建,后可修改版本,勾选依赖dependencies中的web -> Spring Web及SQL -> MySQL Driver:

四:若遇到版本不一致或者需降版本可在pom.xml中修改:

可在全局中固定好工程的java版本:

五、application.yml文件配置:

server:
  port: 8086
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: 123456
    # 驱动mysql 8.0 以上驱动
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
  mapper-locations: classpath:mapper/*.xml
  configuration:
    # 开启驼峰命名转换
    map-underscore-to-camel-case: true
    # 打印sql
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

六、自动生成mysql表java对象和mapper文件可用MybatisX插件:

七、idea工具右侧可新增连接mysql:

连接后选中需要生成java对象的表右键选择MybatisX-Generator

选中生成位置及包名:

生成选项,可自选删除不需要生成的serviceInterface文件等等:

八、生成的实体对象及mapper:

九、测试:

1、查询:

2、插入:

3、更新:

4、分页查询及map查询(分页查询实现,需在组件中引入分页,详见第十点):

十、mybatisPlus逻辑删除及乐观锁实现:

在字段属性中添加注解@TableLogic,数据便可做假删除,添加@Version注解则做乐观锁实现:

乐观锁实现还需要添加mybatisPlus的组件:

高版本的mybatisPlus可使用MybatisPlusInterceptor统一添加需要加入的组件;

十一、mybatisPlus自动填充策略:

表中一些创建时间、更新时间、创建人、更新人等可设置自动填充,实现 MetaObjectHandler接口,在字段属性中添加 @TableField(fill = FieldFill.INSERT)注解及属性:

   MyMetaObjectHandler实现:

总结:springBoot + MybatisPlus整合可快速搭建工程,省去为构建工程时间,更专注于业务;

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值