使用场景

在Oracle数据库中,我们常常将数据表字段写为大写;有一天我们做数据库迁移,将Oracle数据库改为Mysql数据库时往往直接使用原来的字段名(大写字段)并将Oracle中的特殊关键字转为Mysql关键字就可以了,这个时候就会出现一个问题,实体类与数据库列名无法匹配。

方法1:使用@TableField("列名")将字段与列名对应起来

package com.test.Model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
@TableName("test_entity")
public class TestEntity {
    @TableField("USER_ID")
    private String userId;
    @TableField("CODE_ID")
    private String codeId;

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getCodeId() {
        return codeId;
    }

    public void setCodeId(String codeId) {
        this.codeId = codeId;
    }
}

方法2:在MYSQL创建数据表或数据库的时候设置字段类型 

    1.utf8_bin             将字符串中的每一个字符用二进制数据存储,区分大小写。

    2.utf8_genera_ci 不区分大小写,ci全称case insensitive的缩写,大小写不敏感。

    3.utf8_general_cs 区分大小写,cs全称case sensitive的缩写,大小写敏感。

方法3:在安装MYSQL数据库的时候,在配置文件[mysqld]项中添加内lower_case_table_names=1

[mysqld]

# 指定mysql不区分大小写

lower_case_table_names=1

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐