mybatis-plus常用配置

it2023-09-30  62

id自增 #主键类型 #实体类主键策略有3种( 注解 > 全局 > 默认 ) #AUTO 数据库ID自增 #INPUT 用户输入ID #ID_WORKER 全局唯一ID,Long类型的主键 #ID_WORKER_STR 字符串全局唯一ID #UUID 全局唯一ID,UUID类型的主键 #NONE 该类型为未设置主键类型 id-type: ID_WORKER #打印结果 1318540344565608449 id-type: ID_WORKER_STR #打印结果 1318541348350595074 id-type: UUID #打印结果 c4c4d15ab3206cb66879882c2055fc7f @Autowired SysUserMapper mapper; @Test void contextLoads() { SysUser sysUser =new SysUser(); sysUser.setName("123"); mapper.insert(sysUser); } 插入,修改,查询的入参条件过滤 修改时会自动过滤 null 值,但查询条件并不会自动过滤 SysUser sysUser =new SysUser(); sysUser.setName(null); sysUser.setAge(1234); //修改 UpdateWrapper<SysUser> updateWrapper = new UpdateWrapper(); updateWrapper.lambda().eq(SysUser::getId,"1318541929886773249"); mapper.update(sysUser,updateWrapper); 打印的sql: UPDATE sys_user SET age=? WHERE (ID = ?) 1234(Integer), 1318541929886773249(String)

查询接口只获取需要的字段

QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>(); //queryWrapper.lambda().select(需要显示的值) queryWrapper.lambda().select(SysUser::getEmail,SysUser::getEmail).eq(SysUser::getAge,1234); List<SysUser> sysUsersList = mapper.selectList(queryWrapper);

application.yml

spring: datasource: url: jdbc:mysql://localhost:3306/biji?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false&serverTimezone=UTC username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver debug: false ########## Mybatis 自身配置 ########## mybatis-plus: # 注意注意 # 如果是放在src/main/java目录下 classpath:/com/yourpackage/*/mapper/*Mapper.xml # 如果是放在resource目录 classpath:/mapper/*Mapper.xml mapper-locations: classpath:mapper/*.xml #实体扫描,多个package用逗号或者分号分隔 type-aliases-package: com.mysql.entity global-config: db-config: #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断" field-strategy: not_empty #主键类型 #实体类主键策略有3种( 注解 > 全局 > 默认 ) #AUTO 数据库ID自增 #INPUT 用户输入ID #ID_WORKER 全局唯一ID,Long类型的主键 #ID_WORKER_STR 字符串全局唯一ID #UUID 全局唯一ID,UUID类型的主键 #NONE 该类型为未设置主键类型 id-type: auto #驼峰下划线转换 db-column-underline: true #表名、是否使用下划线命名,默认数据库表使用下划线命名 true table-underline: true #刷新mapper 调试神器 refresh-mapper: true #数据库大写下划线转换 capital-mode: true configuration: #MyBatis 自动映射时未知列或未知属性处理策略,通过该配置可指定 MyBatis 在自动映射过程中遇到未知 #NONE:不做任何处理 (默认值) #WARNING:以日志的形式打印相关警告信息 . #FAILING:当作映射失败处理,并抛出异常和详细信息 auto-mapping-unknown-column-behavior: failing #解决 resultMap 为map时值为空不返回的场景 call-setters-on-nulls: true
最新回复(0)