场景:        在做开发时,我们经常会遇到这样一些问题,比如我有一个Java中的Date数据类型,我想将之存到数据库的时候存成一个1970年至今的毫秒数,怎么实现?再比如我有一个Student类,Student类中有一个属性叫做hobbys,这个属性用来描述学生的爱好,它的数据类型是一个List<String>集合,那么我想在把这个List
转载 11月前
110阅读
文章目录MybaitsPlus核心类BaseMapper类源码案例查询API根据id查询根据id批量查询查询一条记录统计行数查询全部案例新增API插入一条记录案例删除API根据id删除条件删除案例更新APIqueryWrapper更新操作updateWrapper更新操作 MybaitsPlus核心类MybaitsPlus封装了一些CRUD的接口,可以在service层进行调用封装的方法,只需要
转载 2024-04-26 20:25:51
221阅读
文章目录1、BaseMapper 接口2、增删改语句2.1、关于添加语句的方法2.2、关于更新语句的方法2.3、关于删除语句的方法2.4、关于查询语句的方法2.5、条件构造器 1、BaseMapper 接口上一篇我们了解了BaseMapper 接口,那么现在我们具体去了解 BaseMapper 接口的这些方法2、增删改语句2.1、关于添加语句的方法BaseMapper 中只定义了一种关于添加语句
转载 2024-01-02 09:58:49
207阅读
        BASE是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)三个短语的简写。        BASE是对CAP中一致性和可用性权衡的结果,其来源于大规模互
Mybatis只能拦截ParameterHandler、ResultSetHandler、StatementHandler、Executor共4个接口对象内的方法。 重新审视interceptorChain.pluginAll()方法:该方法在创建上述4个接口对象时调用,其含义为给这些接口对象注册拦截器功能,注意是注册,而不是执行拦截。 拦截器执行时机:plugin()方法注册
转载 7月前
25阅读
自定义全局操作是什么,比如BaseMapper在启动时它就被注入了,那么我们如何做的像BaseMapper一样,我们就要用到自定义全局操作。 首先在Mapper中定义一个方法 单独定义一个全局操作,重写的inject方法就是注册单点CRUD的方法。 然后我们把上面的类注入到spring容器并且引入到mp的全局策略配置文件中 下面是测试类,查看自定义的全局操作是否生效。 执行后可以看到影响行数15行
转载 7月前
27阅读
相信大家在开发过程中,应该都用过Mybatis-Plus的Generator,但是可能没有自定义过模板并使用。每个项目都应该有一个从Controller层到Mapper层的通用模板,来去掉哪些简单的重复开发工作。至于如何自定义模板并开发,大家可以先看看这篇博文,以及其附带的三篇博文,相信您一定有收获。Ⅰ、奋斗青年LOVEⅡ、Github链接Ⅲ、呵呵彡如果您看完的话,应该也能手动制作一个自己风格的开
转载 2024-03-29 22:03:31
142阅读
前言Mybatis-plus提供的BaseMapper中已经有频繁要使用的增删改查方法,比如selectById、insert等,但是有时候业务经常要用到某个模板sql,BaseMapper中又没有,MybatisPlus提供了Plugin入口,我们可以自定义BaseMapper来实现。比如,在某些table中有唯一约束键,当insert时如果唯一键冲突会抛错,如果恰好此时我们又不想处理这个错误,
转载 2024-08-05 16:20:21
136阅读
 特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无
转载 2024-07-23 20:03:32
320阅读
1.问题分析我们在开发中经常遇到多个实体类有共同的属性字段,例如在用户注册时需要设置创建时间、创建人、修改时间、修改人等字段,在用户编辑信息时需要设置修改时间和修改人等字段。这些字段属于公共字段,也就是很多表中都有这些字段,能不能对于这些公共字段在某个地方统一处理,来简化开发呢? 答案就是我们可是使用Mybatis Plus提供的公共字段自动填充功能。2.实现步骤Mybatis Plus公共字段自
转载 2024-09-27 14:55:04
191阅读
六、自定义全局操作AutoSqlInjector根据 MybatisPlus 的 AutoSqlInjector 可以自定义各种你想要的 sql ,注入到全局中,相当于自 定义 Mybatisplus 自动注入的方法之前需要在 xml 中进行配置的 SQL 语句,现在通过扩展 AutoSqlInjector 在加载 mybatis 环境 时就注入使用步骤在 Mapper 接口中定义相关的 CRUD
转载 2024-07-29 20:08:46
67阅读
Mybatis Plus 自定义通用扩展 Mapper环境:IDEA,SpringBoot2.x,Mybatis Plus前景需求我们在使用Mybatis Plus时,查询都需要使用到QueryWrapper。 复杂的SQL使用QueryWrapper就不多说,但是一些简单的SQL也需要QueryWrapper就不很人性化,比如我们经常通过一个外键去查询相关数据例:在学生和书的关系中,学生和书是一
转载 2024-04-24 19:10:22
652阅读
不能覆盖内置的singleton和prototype作用域)。 作用域由接口org.springframework.beans.factory.config.Scope定义。要将你自己的自定义作用域集成到Spring容器中,需要实现该接口。它本身非常简单,只有两个方法,分别用于底层存储机制获取和删除对象。自定义作用域可能超出了本参考手册的讨论范围,但你可以参考一下Spring提供的Scope实现,
转载 2024-06-06 06:53:09
29阅读
bean的范围机制是可扩展的;你可以定义自己的scope,或者甚至重新定义已经存在的scopes,虽然后面的一种是一个很坏的编码习惯并且你不能重写内置的singleton和prototype范围。创建一个自定义的scope为了将自定义范围集成到Spring容器中,你需要实现org.springframework.beans.factory.config.Scope接口,将在这章中描述。对于如何实现
转载 2024-06-22 16:16:43
31阅读
对于自定义配置文件,SpringBoot无法识别,需要我们手动加载。使用@PropertySource加载配置文件加载自定义配置文件,可以使用@PropertySource 和 @Configuration注解实现 - @PropertySource注解:指定自定义配置文件的位置和名称 - @Configuration注解:将实体类指定为自定义配置类编写自定义配置文件 test.propertie
通过工厂方法配置bean  通过调用静态工厂方法创建bean    通过静态工厂方法创建bean是将对象创建的过程封装到静态方法中。当客户端需要对象时,只需要简单地调用静态方法,而不关心创建对象的细节。    要声明通过静态方法创建的bean,需要在bean的class属性里指定拥有该工厂的方法的类,通知在factory-method属性里指定工厂方法的名称,    最后,使用<constr
转载 2024-04-01 12:34:37
86阅读
一:概述        在很多情况下,我们需要为系统提供可配置化支持,简单的做法可以直接基于Spring的标准Bean来配置,但配置较为复杂或者需要更多丰富控制的时候,就会显得非常笨拙。一般的做法是用原生态的方式去解析定义好的XML文件,然后转为可配置对象。这种方式可以解决问题,但是实现起来比较繁琐。但是利用Spring 提供了
转载 2024-06-05 14:14:53
98阅读
本文节选自《 JavaEE开发的颠覆者——Spring Boot实战 》一书。本书从Spring 基础、Spring MVC 基础讲起,从而无难度地引入Spring Boot 的学习。涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制、批处理、异步消息、系统
转载 2024-08-29 09:57:41
56阅读
什么是注解Annotation是从jdk1.5引入的新技术Annotation的作用:不是程序本身,可以对程序作出解释可以被其他程序读取Annotation的格式:注解是以“@注释名”在代码中存在的,还可以添加一些参数值,例如:@Target(value = {ElementType.METHOD,ElementType.TYPE})Annotation在哪里使用:可以附加在package,cla
转载 2024-02-28 12:34:11
67阅读
@EnableAsync @Configuration // @PropertySource是找的target目录下classes目录下的文件,resources目录下的文件编译后会生成在classes目录 @PropertySource(value = {"classpath:executor.properties"}, ignoreResourceNotFound=false, encodin
转载 2024-03-21 01:03:25
71阅读
  • 1
  • 2
  • 3
  • 4
  • 5