Skip to content

mybatis plus有许多可配置项,可在application.yml中进行配置,如上面的全局主键策略。下面列举部分配置项

基本配置

  • configLocation:若有单独的mybatis配置,用这个注解指定mybatis的配置文件(mybatis的全局配置文件)
  • mapperLocations:mybatis mapper所对应的xml文件的位置
  • typeAliasesPackage:mybatis的别名包扫描路径
  • .....

进阶配置 • mapUnderscoreToCamelCase:是否开启自动驼峰命名规则映射。(默认开启) • dbTpe:数据库类型。一般不用配,会根据数据库连接url自动识别 • fieldStrategy:(已过时)字段验证策略。该配置项在最新版的mp文档中已经找不到了,被细分成了insertStrategy,updateStrategy,selectStrategy。默认值是NOT_NULL,即对于实体对象中非空的字段,才会组装到最终的SQL语句中。 有如下几种可选配置 • IGNORED:忽略校验。即,不做校验。实体对象中的全部字段,无论值是什么,都如实地被组装到SQL语句中(为NULL的字段在SQL语句中就组装为NULL)。 • NOT_NULL:非NULL校验。只会将非NULL的字段组装到SQL语句中 • NOT_EMPTY:非空校验。当有字段是字符串类型时,只组装非空字符串;对其他类型的字段,等同于NOT_NULL • NEVER:不加入SQL。所有字段不加入到SQL语句 这个配置项,可在application.yml中进行全局配置,也可以在某一实体类中,对某一字段用@TableField注解进行局部配置 这个字段验证策略有什么用呢?在UPDATE操作中能够体现出来,若用一个User对象执行UPDATE操作,我们希望只对User对象中非空的属性,更新到数据库中,其他属性不做更新,则NOT_NULL可以满足需求。而若updateStrategy配置为IGNORED,则不会进行非空判断,会将实体对象中的全部属性如实组装到SQL中,这样,执行UPDATE时,可能就将一些不想更新的字段,设置为了NULL。 • tablePrefix:添加表名前缀 比如 mybatis-plus:global-config:db-config:table-prefix:xx_复制代码 然后将MYSQL中的表做一下修改。但Java实体类保持不变(仍然为User)。

测试

@Testpublicvoidtest3(){ QueryWrapper<User> wrapper = newQueryWrapper<>(); wrapper.like("name", " 黄

"); Integercount=userMapper.selectCount(wrapper); System.out.println(count); } 复制代码 可以看到拼接出来的SQL,在表名前面添加了前缀

完整的配置可以参考mp的官网 ==\> 传送门

本站总访问 — 次