1. 程式人生 > 其它 >Mybatis之map-underscore-to-camel-case開啟駝峰功能

Mybatis之map-underscore-to-camel-case開啟駝峰功能

技術標籤:解決方案系統架構Springmybatisjavaspring boot

場景:資料庫欄位是下劃線,程式中使用駝峰

目的:實現資料庫下劃線欄位與實體中的駝峰屬性對映

方式:設定map-underscore-to-camel-case屬性為true來開啟駝峰功能

1、application.yml配置

mybatis:
  mapperLocations: classpath:mapper/*.xml,classpath:mapper/base/*.xml
  configuration:
    map-underscore-to-camel-case: true

2、庫表與實體

請注意庫表中欄位create_time對應實體中createTime

import com.picc.common.util.date.DateUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

@Data
@ApiModel(description = "客戶標籤")
public class Lable{

    @ApiModelProperty("主鍵")
    private Long id;

    @ApiModelProperty("名稱")
    private String name;

    @ApiModelProperty("機構")
    private String branch;

    @ApiModelProperty("型別1:公司,2:部門,3:個人")
    private String type;

    @ApiModelProperty("排序")
    private Integer sort;

    @ApiModelProperty("有無效標識1:有效,0:無效")
    private Integer valid;

    @ApiModelProperty("刪除標識1:已刪除,0:未刪除")
    private Short deleted = 0;

    @ApiModelProperty(value="建立時間", example = "2021-02-01 00:00:00")
    private Date createTime = DateUtil.newDateTime();


3、SectionMapper.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.picc.vx.market.service.provider.dao.LableDao">

        <select id="count" resultType="java.lang.Long">
                select count(*) from m_lable
        </select>
      
</mapper>

4、查詢結果

即實現下劃線欄位與駝峰式屬性的完美對映!

[
    {
        "id":2,
        "name":"音響發燒友",
        "branch":"00000002",
        "type":"2",
        "sort":1,
        "valid":1,
        "deleted":0,
        "createTime":"2021-01-20 14:43:16"
    },
    {
        "id":3,
        "name":"影迷",
        "branch":"1",
        "type":"3",
        "sort":1,
        "valid":1,
        "deleted":0,
        "createTime":"2021-01-20 14:43:59"
    }
]