1. 程式人生 > 實用技巧 >Mybatis-Plus駝峰式命名規則配置

Mybatis-Plus駝峰式命名規則配置

mybatis-plus對於駝峰式命名的處理;

對於駝峰式命名的實體名和欄位名,mybatis-plus預設處理是通過下劃線分隔;

比如SysUser實體名預設對映 sys_user表;

比如UserName欄位名預設對映是 user_name表;

我們來看一個例項:

系統使用者表,以及三個欄位;

CREATE TABLE `t_sysuser` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `userName` varchar(200) DEFAULT NULL,
  `passWord` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE
=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8


系統使用者實體:

@Data
public class SysUser {
 
    private Integer id;
 
    private String userName;
 
    private String passWord;
 
}


繼承BaseMapper介面

public interface SysUserMapper extends BaseMapper<SysUser> {
 
}

測試插入

@Test
public void insert(){
    SysUser sysUser
=new SysUser(); sysUser.setUserName("xxx"); sysUser.setPassWord("123"); sysUserMapper.insert(sysUser); }

執行報錯:

說找不到t_sys_user表,所以預設對映是以下劃線分隔的名字;

我們可以通過配置:table-underline: false 搞成false即可;

mybatis-plus:
  global-config:
    db-config:
      id-type: 0
      table-prefix: t_
      table
-underline: false

這樣執行下試下,這個問題解決了,但是又報了一個新錯誤:

這次是user_name找不到了,還是預設駝峰式的以下劃線分隔;

我們可以通過

configuration.map-underscore-to-camel-case: false 配置,去掉預設實現;

mybatis-plus:
  global-config:
    db-config:
      id-type: 0
      table-prefix: t_
      table-underline: false
  configuration:
    map-underscore-to-camel-case: false


這樣就成功執行了;

最佳實踐和建議:為了避免在對應實體類時產生的效能損耗,我們還是用預設配置,這樣欄位不用做對映就能直接和實體類對應。

------------------------------------------------------------------------------------------------------------------------------

作者:java1234_小鋒

出處:https://www.cnblogs.com/java688/p/13507827.html

版權:本站使用「CC BY 4.0」創作共享協議,轉載請在文章明顯位置註明作者及出處。

------------------------------------------------------------------------------------------------------------------------------