亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MyBatisPlus中@TableField注解的基本使用

 更新時(shí)間:2023年07月01日 14:50:58   作者:小花皮豬  
這篇文章主要介紹了MyBatisPlus中@TableField注解的基本使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

?前言

在MP中通過@TableField注解可以指定字段的一些屬性

常見解決的問題有2種:

  • 1、對(duì)象中的屬性名和字段名不一致的問題(非駝峰)
  • 2、對(duì)象中的屬性字段在表中不存在的問題

上述的兩種情況,我們接下來一一舉例說明

我們最長(zhǎng)見的,應(yīng)該就是下面這種@TableField的使用方式了,是的,沒錯(cuò),就是在實(shí)體里面標(biāo)注這個(gè)屬性是數(shù)據(jù)庫表里面的某個(gè)字段,采用駝峰命名法的方式

@TableField(“user_name”)
private String userName;

前提準(zhǔn)備

在正式操作之前,我們需要提前準(zhǔn)備一張表

/*
 Navicat Premium Data Transfer
 Source Server         : 本地庫
 Source Server Type    : MySQL
 Source Server Version : 80017
 Source Host           : localhost:3306
 Source Schema         : mp
 Target Server Type    : MySQL
 Target Server Version : 80017
 File Encoding         : 65001
 Date: 23/08/2022 22:19:37
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for tb_user
-- ----------------------------
DROP TABLE IF EXISTS `tb_user`;
CREATE TABLE `tb_user`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `user_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用戶名',
  `password` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '密碼',
  `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '姓名',
  `age` int(11) NULL DEFAULT NULL COMMENT '年齡',
  `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '郵箱',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of tb_user
-- ----------------------------
INSERT INTO `tb_user` VALUES (1, 'zhangsan', '123456', '張三', 18, 'test1@qq.com');
INSERT INTO `tb_user` VALUES (2, 'lisi', '123456', '李四', 20, 'test2@qq.com');
INSERT INTO `tb_user` VALUES (3, 'wangwu', '123456', '王五', 22, 'test3@qq,com');
INSERT INTO `tb_user` VALUES (4, 'zhaoliu', '123456', '趙六', 24, 'test4@qq.com');
SET FOREIGN_KEY_CHECKS = 1;

使用場(chǎng)景1 字段錯(cuò)誤

首先我們惡意修改把正確的email 改為mail 讓它故意對(duì)不上

此時(shí)運(yùn)行查詢 會(huì)報(bào)錯(cuò) 原因就是因?yàn)槠ヅ洳坏絜mail字段

?然后使用@TableField指定這個(gè)mail字段就是數(shù)據(jù)庫里面的email字段

//指定數(shù)據(jù)庫字段名稱
@TableField(value = "email")

然后再次運(yùn)行查詢方法 這次正確了 可見我們的注解起效了

同理 新增也是一樣的 這里我們就直接設(shè)置mail的值 還是可以正常插入對(duì)應(yīng)的email的值

使用場(chǎng)景2 不存在字段

這時(shí)我在是實(shí)體里面加入一個(gè)表里面不存在的字段

再次運(yùn)行報(bào)錯(cuò) 找不到該字段

這時(shí)候怎么解決這個(gè)問題呢通過@TableField(exist = false) 指名表里沒有這個(gè)字段

@TableField(exist = false)

這個(gè)時(shí)候再次查詢 發(fā)現(xiàn)解決了

使用場(chǎng)景3 不被查詢的字段

如果有的字段數(shù)據(jù)比較隱私 不想被查出來怎么辦呢?

我們可以使用下面的這種方式

// 查詢的時(shí)候不返回該字段的值 默認(rèn)為true(返回)@TableField(select=false)

運(yùn)行查詢 發(fā)現(xiàn)password的值已經(jīng)被隱藏為null

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot3通過GraalVM生成exe執(zhí)行文件問題

    SpringBoot3通過GraalVM生成exe執(zhí)行文件問題

    文章介紹了如何安裝GraalVM和Visual Studio,并通過Spring Boot項(xiàng)目將Java應(yīng)用程序封裝成可執(zhí)行文件(.exe)
    2024-12-12
  • Spring自動(dòng)裝配之方法、構(gòu)造器位置的自動(dòng)注入操作

    Spring自動(dòng)裝配之方法、構(gòu)造器位置的自動(dòng)注入操作

    這篇文章主要介紹了Spring自動(dòng)裝配之方法、構(gòu)造器位置的自動(dòng)注入操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • java啟動(dòng)參數(shù)之謎的排查過程

    java啟動(dòng)參數(shù)之謎的排查過程

    在日常操作中,相信很多人對(duì)Java啟動(dòng)參數(shù)存在疑惑,下面這篇文章主要給大家介紹了關(guān)于java啟動(dòng)參數(shù)之謎的排查過程,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • mybatis插入數(shù)據(jù)不返回主鍵id的可能原因及解決方式

    mybatis插入數(shù)據(jù)不返回主鍵id的可能原因及解決方式

    這篇文章主要介紹了mybatis插入數(shù)據(jù)不返回主鍵id的可能原因及解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Java基礎(chǔ)之Comparable與Comparator概述

    Java基礎(chǔ)之Comparable與Comparator概述

    這篇文章主要介紹了Java基礎(chǔ)之Comparable與Comparator詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • java返回json請(qǐng)求中文變成問號(hào)的問題及解決

    java返回json請(qǐng)求中文變成問號(hào)的問題及解決

    這篇文章主要介紹了java返回json請(qǐng)求中文變成問號(hào)的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • MyEclipse 2016 CI 4新增BootStrap模板

    MyEclipse 2016 CI 4新增BootStrap模板

    MyEclipse2016是一款全球使用最為廣泛的企業(yè)級(jí)開發(fā)環(huán)境程序,這篇文章主要介紹了MyEclipse 2016 CI 4新增BootStrap模板的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • Java 讀寫Properties配置文件詳解

    Java 讀寫Properties配置文件詳解

    這篇文章主要介紹了Java 讀寫Properties配置文件詳解的相關(guān)資料,這里舉例說明該如何實(shí)現(xiàn),具有參考價(jià)值,需要的朋友可以參考下
    2016-11-11
  • 基于Ant路徑匹配規(guī)則AntPathMatcher的注意事項(xiàng)

    基于Ant路徑匹配規(guī)則AntPathMatcher的注意事項(xiàng)

    這篇文章主要介紹了基于Ant路徑匹配規(guī)則AntPathMatcher的注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • SpringBoot整合Sharding-JDBC實(shí)現(xiàn)MySQL8讀寫分離

    SpringBoot整合Sharding-JDBC實(shí)現(xiàn)MySQL8讀寫分離

    本文是一個(gè)基于SpringBoot整合Sharding-JDBC實(shí)現(xiàn)讀寫分離的極簡(jiǎn)教程,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-07-07

最新評(píng)論