mybatis-plus开发日记

数据库版本5.7,数据库驱动driver版本8.0,idea2020.3.4的连接驱动版本为8.0    

快速使用总体步骤:

1、导入对应的依赖--在pom文件写入依赖

2、研究依赖如何配置--在properties写连接驱动配置

3、代码如何编写-写实体类对应数据库的表,写测试类测试代码

详细步骤:

1 、创建数据库 mybatis_plus
2 、创建 user
3 、编写项目,在idea建立项目,初始化项目!使用 SpringBoot 初始化!
4、导入依赖-在pom文件写入依赖
<!-- 数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- mybatis-plus -->
<!-- mybatis-plus 是自己开发,并非官方的! -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>

5用驱动连接数据库!idea2020.3.4的内置驱动是8.0,与数据库版本(5.7)无关

连接配置:

# mysql 8 驱动不同com.mysql.cj.jdbc.Driver、需要增加时区的配置serverTimezone=GMT%2B8 

spring.datasource.username = root
spring.datasource.password = 1234
spring.datasource.url = jdbc : mysql : //localhost : 3306/mybatis_plus?
useSSL = false&useUnicode = true&characterEncoding = utf-8&serverTimezone = GMT%2B8
spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver
 
6 、创建pojo/enity实体包,mapper包,在test包写测试,运行搞定
     1、pojo/enety包 (包里放自建实体类)2、mapper包(包里放自建接口)(相当于持久层)    3、  使用

pojo包里的类对应的就是数据库中的表(类名User=表名user)

类的变量对应表格中的属性(变量名等于属性名)

在idea中操作数据库的某一个表的某一条数据,就需要创建一个对象,这个对象的变量与某条数据的属性一一对应

 用户要修改数据库,就通过这个对象,先修改对象的变量,例如:

 

修改这个对象的变量,传给mapper接口的操作对象的方法,pojo类的对象的工作就完成了。

pojo类就是一个模板,映射数据库的某个表的所有属性

mapper包里的接口(自己创建的)继承BaseMapper,  继承了之后所以的CRUD操作都已经编写完成,在主启动类加注解@MapperScan("com.*.mapper")   扫描我们的mapper包下的所有接口。

例如写了一个Usermapper接口。然后在测试类test里面写测试代码,

定义一个操作数据库的对象,调用这个对象的方法实现增删改查,查找删除需要传入id参数,就传入id

增加更新需要传入对象,就传入对象

用mapper接口定义一个操作对象  ,再调用操作对象的方法来实现增删改查

 写完代码点击左边的三角形运行该测试即可

注意:UserController类中new的对象的名字可以任意但最好是类的小写user,跟表名user一样。我们讲究的是表名跟实体类的名字一样,如果不一样,就用TableName注解表明该类该去找哪个表

测试查找全部

查找日志 :

查找结果: 

测试插入:

如果没有设置id(主键),则自动用雪花算法分配id
但是需要自增,所以在pojo类-User加注解:

 然后还要在数据dbever中设置id属性为自增保存

SqlSession提供select/insert/update/delete方法

jdbcconnection 连接驱动           preparing:拼接sql语句,          parameter:参数       updates:更新条数     closing 关闭连接

更新操作:

 

乐观锁 : 故名思意十分乐观,它总是认为不会出现问题,无论干什么不去上锁!如果出现了问题,
再次更新值测试
悲观锁:故名思意十分悲观,它总是认为总是出现问题,无论干什么都会上锁!再去操作!
乐观锁实现方式:
取出记录时,获取当前 version
更新时,带上这个version
执行更新时, set version = newVersion where version = oldVersion
如果version不对,就更新失败

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值