软件:idea 然后用spring boot 数据库用的postgersql

在谈mybatis-plus之前,我先说一个开发中非常好用的插件吧。用了这款插件之后,开发起来,会快很多。他就是 ----- > Mybatis plugins我这是安装好了的,没安装好之前是install,直接点就可以了。

下面开始我们今天的主题:mybatis-plus

首先先导入jar包

com.baomidou

mybatis-plus-boot-starter

3.0.1

com.baomidou

mybatisplus-spring-boot-starter

1.0.5

org.apache.velocity

velocity-engine-core

2.0

然后在配置文件中配置数据源

# Tomcat

server:

tomcat:

uri-encoding: UTF-8

max-threads: 1000

min-spare-threads: 30

port: 8880

spring:

application:

name: userinfo_plus

datasource:

type: com.alibaba.druid.pool.DruidDataSource

driverClassName: org.postgresql.Driver

druid:

url: jdbc:postgresql://xx.xx.xx.xx/项目名

username: postgres

password: postgres

initial-size: 10

max-active: 100

min-idle: 10

max-wait: 60000

pool-prepared-statements: true

max-pool-prepared-statement-per-connection-size: 20

time-between-eviction-runs-millis: 60000

min-evictable-idle-time-millis: 300000

validation-query: SELECT 1

test-while-idle: true

test-on-borrow: false

test-on-return: false

stat-view-servlet:

enabled: true

url-pattern: /druid/*

filter:

stat:

log-slow-sql: true

slow-sql-millis: 1000

merge-sql: true

wall:

config:

multi-statement-allow: true

mybatis:

mapperLocations: classpath:mybatis/mapping/**/*.xml

config-location: classpath:mybatis/mybatis-config.xml

#逻辑删除的状态

mybatis-plus:

global-config:

db-config:

logic-delete-value: 1

logic-not-delete-value: 0

数据源配置好之后新建一个包generator然后在其中新建一个类CodeGenerator(这个随便自己)自动生成,超级方便。

然后运行输入你的表名,就会自动生成相应的mapper层,server层,controller层等等

下面说的是个人习惯:

将mapper层中加入Mapper注解(这个注解可以不加,在启动类中加入@MapperScan("com.example.demo.mapper")也可以),controller层加入RestController注解。然后就可以写业务了,非常的舒服。这是一个controller的一个例子

entity层的话,可以继承下Model类,然后重写pkVal方法这里面的注解什么的在下面解释下。

一。 如果你的删除是逻辑删除,就在你的状态上加上@TableLogic注解,

然后在你的config中注入

@Bean

public LogicSqlInjector logicSqlInjector(){

return new LogicSqlInjector() ;

}

二。如果业务需要加上乐观锁,只需要在你的版本号字段上面加上@Version注解,和jpa一样方便。

然后在你的config中注入

//乐观锁(目前只支持updateById和update方法)

@Bean

public OptimisticLockerInterceptor optimisticLockerInterceptor() {

return new OptimisticLockerInterceptor();

}

三。 分页也需要注入,不注入也可以分页吧,不过不是数据库分页,你可以看生成的sql语句就知道了。

@Bean

public PaginationInterceptor paginationInterceptor() {

return new PaginationInterceptor();

}

@TableField注解 表示要和数据库的名字一样

@TableField( "update_time")

private LocalDateTime updateTime;

@TableId(type = IdType.AUTO) //表示mysql的自增,我用的是postgresql,所以没有试过。

@TableField(condition = SqlCondition.LIKE)//模糊查询,不设置的话会默认。

plus 什么是mybais_谈谈自己用mybatis-plus中的一些经验。相关推荐

  1. mybatis delete返回值_面试:谈谈你对MyBatis执行过程之SQL执行过程理解

    前言 在了解了MyBatis初始化加载过程后,我们也应该研究看看SQL执行过程是怎样执行?这样我们对于Mybatis的整个执行流程都熟悉了,在开发遇到问题也可以很快定位到问题. 更重要的,在面试中遇到 ...

  2. 处于计算机学科的基础地位,谈谈离散数学在计算机学科中的地位和作用(原稿)...

    <谈谈离散数学在计算机学科中的地位和作用(原稿).doc>由会员分享,可免费在线阅读全文,更多与<谈谈离散数学在计算机学科中的地位和作用(原稿)>相关文档资源请在帮帮文库(ww ...

  3. [html] 谈谈你对input元素中readonly和disabled属性的理解

    [html] 谈谈你对input元素中readonly和disabled属性的理解 相同点:都会使文本框变成只读,不可编辑.不同点:1.disabled属性在将input文本框变成只读不可编辑的同时, ...

  4. MyBatis之优化MyBatis配置文件中的配置

    MyBatis之优化MyBatis配置文件中的配置 2017/9/30 MyBatis配置文件很重要,首先我们来看看MyBatis配置文件中的内容和顺序: 文件目录结构如下: 1.<proper ...

  5. mybatis 配置文件中,collection 和 association 的对应关系

    mybatis 配置文件中,collection 和 association 的对应关系  如下图所示:

  6. ❤️Mybatis开发中什么是多对一处理、一对多处理?

    ❤️Mybatis开发中什么是多对一处理.一对多处理? 什么是多对一: 对于学生而言,关联-多个学生关联一个老师(多对一) 对于老师而言,集合-一个老师有很多学生(一对多) SQL: CREATE T ...

  7. 谈谈对CNN在NLP中可行性的理解

    谈谈对CNN在NLP中可行性的理解 谈到CNN,人们的直观感受还是其在图像处理领域取得的巨大成就,虽然近几年越来越多的论文使用到CNN与RNN的模型来探索卷积网络在自然语言处理中的应用,但始终还是无法 ...

  8. 计算机多媒体对语文教学的提高,谈谈多媒体在语文教学中的运用(教师中心稿)...

    二十一世纪的今天,信息技术与语文学科的有机整合,给语文教学带来了新的生机与活力.如何科学.艺术使用现代技术,以及让这些技术更完善地与课程整合在一起,是我们每个语文教师都需努力的方向.进入信息时代的今天 ...

  9. mybatis XML 中<if>、<choose>、<when>、<otherwise>等标签的使用?多条件查询该怎么处理?

    mybatis XML 中if.choose.when.otherwise等标签的使用 一般使用在多条查询,虽然也可以通过注解写,我比较菜,我不会. 一般多条查询怎么解决? 1.如果是单表间的多条件查 ...

  10. 谈谈深度学习目标检测中的遮挡问题

    引自:"别挡我,我要C位出道!"谈谈深度学习目标检测中的遮挡问题 - Naiyan Wang的文章 - 知乎 https://zhuanlan.zhihu.com/p/436559 ...

最新文章

  1. 地图下载2之天超图瓦片格式
  2. 买电脑怎么看配置_电脑配置怎么选?
  3. 解读丨从自动驾驶到学习机器学习:科技发展的15大趋势
  4. C#窗体应用中使用ZedGraph曲线插件绘制图表
  5. cgic: 为C语言编写CGI的C函数库
  6. 【火炉炼AI】机器学习013-用朴素贝叶斯分类器估算个人收入阶层
  7. MySQL之mysql客户端工作的批处理一些使用手法
  8. 01. elasticsearch certification 练习题
  9. 一次性从linux发送多个文件到windows
  10. [查阅]MSIL Instruction Set
  11. 八重州8900如何解锁_八重贵族怪胎之路
  12. Excel表结构模板生成MySql建表语句
  13. 【嵌入式】Libmodbus源码分析(四)-RTU相关函数分析
  14. laravel 框架命令
  15. 动手学深度学习pytorch入门
  16. 彩色图像与二通道的灰色图像combine
  17. 小米android6.01 root,小米 小米6(安卓8.0)获取Root权限服务含精简系统方案
  18. 神策应用-概述认知(一)
  19. 大学学python用记笔记吗_python笔记(1)-关于我们应不应该继续学习
  20. 【HTML】实现腾讯H5地图定位

热门文章

  1. 【转】Yelp是如何实现每天运行数百万个测试的
  2. Cocos2dx 3.11版本 视频添加跳过按钮
  3. ImageView及其子类
  4. 判断一个数是不是整数
  5. public protect private继承
  6. 2004-4-3+ asp.net编程环境的配置
  7. [hackinglab][CTF][脚本关][2020] hackinglab 脚本关 writeup
  8. 微机计算机原理姚向华课后答案,微型计算机操作系统
  9. pythonxml模块高级用法_Python利用ElementTree模块处理XML的方法详解
  10. android开发蓝牙是否可见开关_如何从后台开启android蓝牙的可见性以及始终保持可见性...