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

时间:2021-10-07 02:50:19

一、简述

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

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

示例:

?
1
2
3
4
5
6
<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文件中配置开启

?
1
2
3
4
5
6
#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文件:

?
1
2
3
4
5
#mybatis配置
mybatis:
 typeAliasesPackage: com.example.mybaitsxml.dao.entity
 mapperLocations: classpath:mapper/*.xml
 configLocation: classpath:/mybatis-config.xml

mybatis-config.xml文件:

?
1
2
3
4
5
6
7
8
9
10
11
<?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驼峰命名转换内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/gavincoder/p/10140562.html