plus 什么是mybais_谈谈自己用mybatis-plus中的一些经验。
软件: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中的一些经验。相关推荐
- mybatis delete返回值_面试:谈谈你对MyBatis执行过程之SQL执行过程理解
前言 在了解了MyBatis初始化加载过程后,我们也应该研究看看SQL执行过程是怎样执行?这样我们对于Mybatis的整个执行流程都熟悉了,在开发遇到问题也可以很快定位到问题. 更重要的,在面试中遇到 ...
- 处于计算机学科的基础地位,谈谈离散数学在计算机学科中的地位和作用(原稿)...
<谈谈离散数学在计算机学科中的地位和作用(原稿).doc>由会员分享,可免费在线阅读全文,更多与<谈谈离散数学在计算机学科中的地位和作用(原稿)>相关文档资源请在帮帮文库(ww ...
- [html] 谈谈你对input元素中readonly和disabled属性的理解
[html] 谈谈你对input元素中readonly和disabled属性的理解 相同点:都会使文本框变成只读,不可编辑.不同点:1.disabled属性在将input文本框变成只读不可编辑的同时, ...
- MyBatis之优化MyBatis配置文件中的配置
MyBatis之优化MyBatis配置文件中的配置 2017/9/30 MyBatis配置文件很重要,首先我们来看看MyBatis配置文件中的内容和顺序: 文件目录结构如下: 1.<proper ...
- mybatis 配置文件中,collection 和 association 的对应关系
mybatis 配置文件中,collection 和 association 的对应关系 如下图所示:
- ❤️Mybatis开发中什么是多对一处理、一对多处理?
❤️Mybatis开发中什么是多对一处理.一对多处理? 什么是多对一: 对于学生而言,关联-多个学生关联一个老师(多对一) 对于老师而言,集合-一个老师有很多学生(一对多) SQL: CREATE T ...
- 谈谈对CNN在NLP中可行性的理解
谈谈对CNN在NLP中可行性的理解 谈到CNN,人们的直观感受还是其在图像处理领域取得的巨大成就,虽然近几年越来越多的论文使用到CNN与RNN的模型来探索卷积网络在自然语言处理中的应用,但始终还是无法 ...
- 计算机多媒体对语文教学的提高,谈谈多媒体在语文教学中的运用(教师中心稿)...
二十一世纪的今天,信息技术与语文学科的有机整合,给语文教学带来了新的生机与活力.如何科学.艺术使用现代技术,以及让这些技术更完善地与课程整合在一起,是我们每个语文教师都需努力的方向.进入信息时代的今天 ...
- mybatis XML 中<if>、<choose>、<when>、<otherwise>等标签的使用?多条件查询该怎么处理?
mybatis XML 中if.choose.when.otherwise等标签的使用 一般使用在多条查询,虽然也可以通过注解写,我比较菜,我不会. 一般多条查询怎么解决? 1.如果是单表间的多条件查 ...
- 谈谈深度学习目标检测中的遮挡问题
引自:"别挡我,我要C位出道!"谈谈深度学习目标检测中的遮挡问题 - Naiyan Wang的文章 - 知乎 https://zhuanlan.zhihu.com/p/436559 ...
最新文章
- 地图下载2之天超图瓦片格式
- 买电脑怎么看配置_电脑配置怎么选?
- 解读丨从自动驾驶到学习机器学习:科技发展的15大趋势
- C#窗体应用中使用ZedGraph曲线插件绘制图表
- cgic: 为C语言编写CGI的C函数库
- 【火炉炼AI】机器学习013-用朴素贝叶斯分类器估算个人收入阶层
- MySQL之mysql客户端工作的批处理一些使用手法
- 01. elasticsearch certification 练习题
- 一次性从linux发送多个文件到windows
- [查阅]MSIL Instruction Set
- 八重州8900如何解锁_八重贵族怪胎之路
- Excel表结构模板生成MySql建表语句
- 【嵌入式】Libmodbus源码分析(四)-RTU相关函数分析
- laravel 框架命令
- 动手学深度学习pytorch入门
- 彩色图像与二通道的灰色图像combine
- 小米android6.01 root,小米 小米6(安卓8.0)获取Root权限服务含精简系统方案
- 神策应用-概述认知(一)
- 大学学python用记笔记吗_python笔记(1)-关于我们应不应该继续学习
- 【HTML】实现腾讯H5地图定位
热门文章
- 【转】Yelp是如何实现每天运行数百万个测试的
- Cocos2dx 3.11版本 视频添加跳过按钮
- ImageView及其子类
- 判断一个数是不是整数
- public protect private继承
- 2004-4-3+ asp.net编程环境的配置
- [hackinglab][CTF][脚本关][2020] hackinglab 脚本关 writeup
- 微机计算机原理姚向华课后答案,微型计算机操作系统
- pythonxml模块高级用法_Python利用ElementTree模块处理XML的方法详解
- android开发蓝牙是否可见开关_如何从后台开启android蓝牙的可见性以及始终保持可见性...