当前位置: 首页 > 编程笔记 >

SpringBoot配置mybatis驼峰命名规则自动转换的实现

谯嘉胜
2023-03-14
本文向大家介绍SpringBoot配置mybatis驼峰命名规则自动转换的实现,包括了SpringBoot配置mybatis驼峰命名规则自动转换的实现的使用技巧和注意事项,需要的朋友参考一下

一、简述

mybatis驼峰式命名规则自动转换:

  • 使用前提:数据库表设计按照规范“字段名中各单词使用下划线"_"划分”;
  • 使用好处:省去mapper.xml文件中繁琐编写表字段列表与表实体类属性的映射关系,即resultMap。

示例

 <resultMap id ="UserInfoMap" type="com.example.mybaitsxml.dao.entity.User">
  <result column="name_" property="name"/>
  <result column="sex" property="sex"/>
  <result column="age" property="age"/>
  <result column="class_no" property="classNo"/>
 </resultMap>

SpringBoot整合mybatis,开启mybatis驼峰式命名规则自动转换,通常根据配置文件不同分为两种方式。

1、方式一

直接application.yml文件中配置开启

#mybatis配置
mybatis:
 typeAliasesPackage: com.example.mybaitsxml.dao.entity
 mapperLocations: classpath:mapper/*.xml
 configuration:
 map-underscore-to-camel-case: true

2、方式二

mybatis-config.xml文件中配置开启,application.yml文件指定配置文件。

application.yml文件:

#mybatis配置
mybatis:
 typeAliasesPackage: com.example.mybaitsxml.dao.entity
 mapperLocations: classpath:mapper/*.xml
 configLocation: classpath:/mybatis-config.xml

mybatis-config.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
 <!--开启驼峰命名规则自动转换-->
 <settings>
 <setting name="mapUnderscoreToCamelCase" value="true" />
 </settings>
</configuration>

注:关于xml文件,如果删除或者注释掉所有内容,会报错:"Valid XML document must hava a root tag",若忽略这个报错直接运行,程序报错:

“Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 24; 文件提前结束。”

3、小结

开启mybatis驼峰式命名规则转换可以省去xml文件中resultMap编写的麻烦,只需要为resultType指定数据库表对应的实体类即可,但是考虑程序的安全性以及映射灵活性,通常开发中还是将resultMap结合使用。

到此这篇关于SpringBoot配置mybatis驼峰命名规则自动转换的实现的文章就介绍到这了,更多相关SpringBoot mybatis驼峰命名转换内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 本文向大家介绍解决mybatis plus 驼峰式命名规则问题,包括了解决mybatis plus 驼峰式命名规则问题的使用技巧和注意事项,需要的朋友参考一下 在我们使用mybatis plus 时, mybatis plus 可以帮我们自动封装我们的实体类用来查询添加,当我们遇见我们的尸体类名与我们的表字段是驼峰写法时:  我们在数据库的字段名也是 userCode 但是如果我们不设置mybst

  • 这里,字段名为什么没有自动转换成下划线呢, 这里是mybatis_plus不会自动转换呢,还是我配置错了? 如果这种情况不会自动转换,那么自动转换使用在什么情况下呢?

  • 本文向大家介绍MyBatis Map结果的Key转为驼峰式,包括了MyBatis Map结果的Key转为驼峰式的使用技巧和注意事项,需要的朋友参考一下 MyBatis 配置文件中,支持下面这几种配置: properties, settings, typeAliases, typeHandlers, objectFactory, objectWrapperFactory, reflectorFact

  • 将字符串转换为驼峰格式(camelcase)。 将字符串分解成单词,并将它们每个单词的第一个字母大写,重新拼接。使用一个正则表达式。 const toCamelCase = str => { let s = str && str .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0

  • 转换驼峰拼写的字符串为特定格式。 使用 String.replace() 去除下划线,连字符和空格,并将驼峰拼写格式的单词转换为全小写。省略第二个参数 separator ,默认使用_分隔符。 const fromCamelCase = (str, separator = '_') => str .replace(/([a-z\d])([A-Z])/g, '$1' + separato

  • 尝试使用camel cxf bean调用外部soap服务,但不确定如何在setHeader中传递多个名称空间。 OPERATION_NAMESPACE,常量("http://test.org/Imports") 对于其中一个操作,需要传递2个命名空间作为http://test.org/Importshttp://globe.org/schema 让我知道我们如何在调用cxf bean之前将骆驼头中