自定义 sql 分为两种,一种是注解类型,一种是自定义 xml 类型。 1、注解类型 注解类型比较简单,在 mapper 层的接口类方法上使用@Select、@Update、@Insert、@Delete等注解并加上自定义的 sql 语句,即可代表查询、更新、存储、删除等操作。如下图所示: 虽然使用注解类型也可以实现动态 sql 的写法,但总归是太乱...
比如使用枚举的时候,枚举有特殊的转化规则,这个时候需要自定义 typeHandler 进行处理它。 从系统定义的 typeHandler 可以知道,要实现 typeHandler 就需要去实现接口 typeHandler ,或者继承 BaseTypeHandler (实际上, BaseTypeHandler 实现了 typeHandler 接口)。这里仿造 StringTypeHandler 来实现一个自定义的 typeHandler -...
//设置实体类信息 .setEntity("entity") ) //设置自定义模板 .setTemplate( new TemplateConfig() //.setXml(null)//指定自定义模板路径, 位置:/resources/templates/entity2.java.ftl(或者是.vm) //注意不要带上.ftl(或者是.vm), 会根据使用的模板引擎自动识别 // 自定义模板配置,模板可以参考源码 /my...
创建一个类继承AbstractMethod,重写injectMappedStatement()方法,该方法中输入写自定义通用方法的SQL语句 创建一个XxxInjector类继承DefaultInjector,重写getMethodList()方法,该方法中将包含了自定义SQL语句的类的实例化对象添加到methodList中 在配置文件中通过bean标签配置自定义的XxxInjector,并在全局配置中通过属性sqlInject...
代码配置: /* * 1. 如果.xml文件是生成到Mapper类下面的xml文件夹下,这个配置不需要,如果配置了则不生成.xml文件了 * 2. 如果.xml文件不是默认生成到Mapper类下面的xml文件夹下,而是指定到某个路径下, * 则该配置需要配置tc.setXml(null),如果不配置则Mapper类下面的xml文件夹下还会同时生成一份默认的。
设置这个属性的目的就是设置数据库类型默认是MySQL,我们现在对MySQL数据库进行驱动,可以不配置这个属性 typeConvert属性 为什么设置这个属性 数据库字段类型转化为Java实体类的数据类型,内置转换类型无法满足。 我们需要自定义转换类型,就需要设置这个参数 代码语言:javascript ...
使用位置:实体类的主键字段 示例: @TableName("user")publicclassUser{@TableIdprivateLongid;privateStringname;} TableId注解支持两个属性: IdType支持的类型有: 这里比较常见的有三种: AUTO:利用数据库的id自增长 INPUT:手动生成id ASSIGN_ID:雪花算法生成Long类型的全局唯一id,这是默认的ID策略 ...
我们可以看到这段代码标红的地方就是通过ConfigurationCustomizer获取自定义配置,初看这代码也没什么问题,但是为什么自己写的mybatisConfigurationCustomizer会失效呢?关键就在ConfigurationCustomizer,这里引用的是MyBatisPlus自定义的一个和MyBatis同名的接口,com.baomidou.mybatisplus.spring.boot.starter.ConfigurationCustomizer...
1.4.常见配置 MybatisPlus也支持基于yaml文件的自定义配置,详见官方文档: 使用配置 | MyBatis-Plus 大多数的配置都有默认值,因此我们都无需配置。但还有一些是没有默认值的,例如: 实体类的别名扫描包 全局id类型 mybatis-plus: type-aliases-package: com.itheima.mp.domain.po ...
idea的easyCode的 MybatisPlus模板的配置详解 EasyCode 插件 EasyCode 插件 是一款根据表结构生成代码的很方便的Idea插件, 强烈推荐. 并且可以自定义模板来控制生成的类 我在使用的过程中发现一些问题,现在把解决办法记录下来, 我主要使用的是插件自带的mybatisplus模板 ...