SpringBoot整合MyBatis开发过程:
步骤一:添加mybatis-plus的启动依赖。
步骤二:正常设置domain,和之前一样。
步骤三:添加一个依赖。最大的不同。
SpringBoot整合MyBatisPluse入门程序:
注:第六步最关键的一步
注:国人开发。
添加一个lombok架包,简化省略domain的编写:
原来的:
使用注解后的效果:
使用注解来代替这些内容。要写下面这些注解,可以代替上面的内容。
更快捷的注释:使用@Data表示上面的一堆。但是不包含构造方法的那两个注解。
使用lomok框架的实现步骤:
步骤一:添加依赖
步骤二:选择lombok对应的内容
lombok的学习:(快速开发pojo实体类)
拦截并增强, 如果想要实现分页的效果功能,则是需要配置一个分页拦截器。
如果不添加的话,实际上就是对表格中的所有数据进行查询的处理,而增加的分页拦截器则是在查询所有的内容基础上,进行增强的作用。
实现分页查询的步骤:
步骤一:使用MP接口的内容
步骤二:添加分页拦截器。
实质上添加一个分页拦截器的bean。新创建一个bean,作为分页拦截器的bean。
注:3就是在我们添加的大的总的拦截器中选择一个我们需要的分页拦截器。
步骤三:加载创建的分页拦截器bean
在创建的bean中添加一个注解@Configuration,作为一个bean能被别的地方检索扫描所写的bean。
步骤四:开启mp的日志
MP分页查询功能:
注:在.yml配置文件中进行添加,输入log-impl就可以显示出来了。
小技巧:清理不必要的日志输出:
例如:清理这些日志的输出。
步骤一:在resources中创建一个.xml的文件(该步骤是将不必要的info等日志进行清理掉)
步骤二:清理掉显示的开启时的图片(.yml中进行添加)加载出来的图片叫做banner
关闭mybatis-plus的banner
关闭SpringBoot的banner:
按条件查询的三种方式:
注:ge表示大于的意思,lt表示小于的意思。
条件查询---设置查询条件:
本部分主要解决null作为上下限时该如何处理。例如:null采用条件判断查询,让判断查询作为第一个参数。
步骤一:封装User中关于涉及到存在上下限变量的数据内容,进行再次的封装,让原来的在User中的数据作为上限或者是下限。新创建的内容设定的变量为原来类中的另外的一端上限或者下限。例如:年龄就是会有上下限。
步骤二:对null值作为上下限作为处理。
条件查询---null值处理:
什么叫查询投影:
查询出来的内容有多少字段。实质上就是:查询出来的结果是什么样的形式。
就是将查询到的结果,在进行筛选,查看自己想看的内容数据。
1、查询投影1,适合lamb的格式的查询投影。
2、查询投影2,适合字符串查询的。
3.1、查询所有的数据有多少条。像这种的查询投影是以后使用的比较多的。
3.2、分组处理。
查询投影:
查询 自己设定的内容,和数据库的内容匹配 的数据信息。
使用特定的只查询一条语句的指令。
注:lt:小于 le:小于等于 gt:大于 ge:大于等于 eq:等于 between:范围值之内
将圈1中的between都可用上述的类型进行替换,来实现条件查询。
模糊匹配:就是提供一个关键字或者关键字符,来查询和你提供的相近的数据内容。
其中需要注意的是likeLeft和likeRight,这两种的使用。
例如:数据库中有Jerry 和Jock两个数据。我只提供J
likeLeft:%J,查询的是J左侧的内容,即xxxJ。结果:0数据。
likeRight:J%,初选的是J右侧的内容,即Jxxx。结果:两条数据,Jerry和Jock。
查询条件:
数据库中数据:表字段
程序中的数据:编码属性
采用@TableField注解来解决两端名称不一致的情况。
修改如下:
解决方法:
主要涉及的是,密码的字段信息,不能在传输的过程中被公示出来,会造成安全隐患。本问题主要解决的是密码的问题,因为默认的情况下是可以被查看的。
解决方法:
解决方法:使用注解@TableName
属性性质一:
自己设定数据库中Id的生成规律。使用雪花算法来生成的id。
设置input后,自己就可以设定id了。
属性性质二:
雪花算法:生成一个串。64位二进制组成的。 实际上就是一个Long的长度。
时间戳:会到毫秒ms
在yml文件中进行配置mybatis-plus。
按照多个ID进行删除
按照多个ID进行查询
多记录操作(删除与查询):
逻辑删除:不是真正的删除,而是对其作了个标记,数据依旧会保存在数据库当中。但是在对数据进行查询时,被标记的那条数据将不会被MP查询到。但是可以通过SQL语句查询到。
步骤一:
在yml中进行配置处理。
逻辑删除案例:
锁:解决并发问题。
乐观锁的解决并发访问问题:
例如:秒杀问题,当秒杀到最后一件商品时,但是同时有 好几个人多是在抢最后一件商品的秒杀,绝对不能出现商品为负商品的情况发生,故需要加锁来解决并发访问的问题,
解决问题的原因:
解决并发的问题的原因:是因为乐观锁执行的过程中将其对应的数据库中的一个信息(本文中的是version)进行了自动+1,在执行的过程当中,第一个人进行执行了乐观锁,原本的version就会被进行+1,然后下一个人在执行同样的语句,将会无法实现,因为version已经进行了+1,这个人就不能实现对应的操作处理。
步骤一:在数据库中添加version,乐观锁的字段。
步骤二:在实体类中添加注解。@Version
步骤三:在拦截器中一个拦截器,实际上就是添加bean
乐观锁实现步骤:
代码生成器:
不用自己写代码了,自动能够生成代码。
步骤一:添加依赖坐标
步骤二:创建一个实现模板的类
如果启动代码生成器呢?
创建代码生成器的对象,执行代码生成器。
快速开发---代码生成器:
完结撒花,撒花,撒花。*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。