• SpringBoot整合mybatis——配置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结合使用。

  • 相关阅读:
    How to display errors using Page_Error event of Page Object?
    DataGrid的一个用法!
    Android中Paint字体属性的一些设置
    Androidb不使用OpenGL实现3D旋转效果
    dip、dp、sp、px和pt的区别是什么?
    Windows Phone 入门教程
    苹果开发准备工作
    Testing和Instrumentation
    为Android添加一个新语种
    Android屏幕密度(Density)和分辨率的关系 及转换
  • 原文地址:https://www.cnblogs.com/gavincoder/p/10140562.html
Copyright © 2020-2023  润新知