驼峰命名转换工具代码(驼峰命名与下划线(sql命名))互转工具

package com.de.util;

/**
 *  
 *  * @projectName mybatis-demo
 *  * @title     HumpNamedTools   
 *  * @package    com.de.util
 *  * @description    驼峰命名与sql下划线字段之间的转换工具 
 *  * @author IT_CREAT     
 *  * @date  2019 2019/jpicker/14 10:36  
 *  * @version V1.0.0 
 *  
 */
public class HumpNamedUtils {

    /**
     * 将驼峰式命名的字符串转换为下划线小写方式。如果转换前的驼峰式命名的字符串为空,则返回空字符串。</br>
     * 例如:helloWorld->hello_word
     *
     * @param name 转换前的驼峰式命名的字符串
     * @return 转换后下划线小写方式命名的字符串
     */
    public static String hump2LowerColumnName(String name) {
        StringBuilder result = new StringBuilder();
        if (name != null && name.length() > 0) {
            // 将第一个字符处理成小写
            result.append(name.substring(0, 1).toLowerCase());
            // 循环处理字符
            for (int i = 1; i < name.length(); i++) {
                String s = name.substring(i, i + 1);
                // 在大写字母前添加下划线
                if (s.equals(s.toUpperCase()) 
### Spring YML 配置驼峰命名转换 在Spring框架中,可以通过`application.yml`文件配置MyBatis的驼峰命名规则自动转换功能。以下是具体的配置方法: #### 1. MyBatis 的驼峰命名转换原理 MyBatis 支持将数据库字段名(通常是下划线风格)映射为 Java 对象中的驼峰命名属性[^2]。这种映射方式可以减少手动编写字段对象属性之间的映射逻辑。 #### 2. YAML 文件中的配置示例 在 `application.yml` 中启用 MyBatis 的驼峰命名转换功能,具体如下所示: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/test_db?useSSL=false&serverTimezone=UTC username: root password: root driver-class-name: com.mysql.cj.jdbc.Driver jpa: show-sql: true mybatis: configuration: map-underscore-to-camel-case: true # 启用驼峰命名转换 ``` 上述配置中,`map-underscore-to-camel-case` 属性被设置为 `true`,表示开启 MyBatis 自动将数据库表字段名称(如 `user_name`)映射为实体类属性名称(如 `userName`)的功能。 #### 3. 数据库字段实体类属性映射关系 假设有一个名为 `users` 的数据库表,其结构如下: | 字段名 | 类型 | |--------------|----------| | user_id | INT | | first_name | VARCHAR | | last_name | VARCHAR | 对应的 Java 实体类定义如下: ```java public class User { private Integer userId; private String firstName; private String lastName; // Getters and Setters } ``` 当查询数据时,MyBatis 将自动完成以下映射: - 表字段 `user_id` 映射至实体类属性 `userId` - 表字段 `first_name` 映射至实体类属性 `firstName` - 表字段 `last_name` 映射至实体类属性 `lastName` #### 4. 注意事项 如果项目中有自定义的 `SqlSessionFactoryBean` 或者其他 MyBatis 配置,则需要确保未覆盖默认的驼峰命名转换行为。例如,在 XML 配置文件中也应保持一致性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值