最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MyBatisPlus中@TableField注解的基本使用

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

?前言

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

常見解決的問題有2種:

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

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

我們最長見的,應(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;

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

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

此時(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的值 還是可以正常插入對應(yīng)的email的值

使用場景2 不存在字段

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

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

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

@TableField(exist = false)

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

使用場景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)文章

  • Java程序生成Access文件代碼實(shí)例

    Java程序生成Access文件代碼實(shí)例

    這篇文章主要介紹了Java程序生成Access文件代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Java元注解Retention代碼示例介紹

    Java元注解Retention代碼示例介紹

    注解@Retention可以用來修飾注解,是注解的注解,稱為元注解。Retention注解有一個(gè)屬性value,是RetentionPolicy類型的,Enum?RetentionPolicy是一個(gè)枚舉類型,這個(gè)枚舉決定了Retention注解應(yīng)該如何去保持,也可理解為Rentention?搭配?RententionPolicy使用
    2022-08-08
  • 詳解java 中的CAS與ABA

    詳解java 中的CAS與ABA

    這篇文章主要介紹了java 中的CAS與ABA的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-05-05
  • SpringBoot集成tensorflow實(shí)現(xiàn)圖片檢測功能

    SpringBoot集成tensorflow實(shí)現(xiàn)圖片檢測功能

    TensorFlow名字的由來就是張量(Tensor)在計(jì)算圖(Computational?Graph)里的流動(dòng)(Flow),它的基礎(chǔ)就是前面介紹的基于計(jì)算圖的自動(dòng)微分,本文將給大家介紹Spring?Boot集成tensorflow實(shí)現(xiàn)圖片檢測功能,需要的朋友可以參考下
    2024-06-06
  • Java編程在方法中哪些時(shí)候需要參數(shù)

    Java編程在方法中哪些時(shí)候需要參數(shù)

    這篇文章主要介紹了Java編程在方法中哪些時(shí)候需要參數(shù),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 基于SpringBoot+jQuery實(shí)現(xiàn)留言板功能

    基于SpringBoot+jQuery實(shí)現(xiàn)留言板功能

    本教程詳細(xì)介紹了如何使用Spring Boot 3.x和jQuery實(shí)現(xiàn)一個(gè)完整的留言板系統(tǒng),主要功能包括留言查看、提交、實(shí)時(shí)刷新和表單校驗(yàn),感興趣的可以了解一下
    2026-01-01
  • mybatis分割字符串并循環(huán),實(shí)現(xiàn)in多個(gè)參數(shù)的操作

    mybatis分割字符串并循環(huán),實(shí)現(xiàn)in多個(gè)參數(shù)的操作

    這篇文章主要介紹了mybatis分割字符串并循環(huán),實(shí)現(xiàn)in多個(gè)參數(shù)的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • IDEA的Mybatis Generator駝峰配置問題

    IDEA的Mybatis Generator駝峰配置問題

    這篇文章主要介紹了IDEA的Mybatis Generator駝峰配置問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 淺談Java中的interface應(yīng)用與面向接口編程

    淺談Java中的interface應(yīng)用與面向接口編程

    這篇文章主要介紹了淺談Java中的interface應(yīng)用與面向接口編程,Java的關(guān)鍵字interface應(yīng)用,一個(gè)接口,多個(gè)實(shí)現(xiàn)類,面向接口編程,把業(yè)務(wù)邏輯線提取出來作為接口,具體的業(yè)務(wù)實(shí)現(xiàn)通過該接口的實(shí)現(xiàn)類來完成,需要的朋友可以參考下
    2023-10-10
  • Java synchronized線程交替運(yùn)行實(shí)現(xiàn)過程詳解

    Java synchronized線程交替運(yùn)行實(shí)現(xiàn)過程詳解

    這篇文章主要介紹了Java synchronized線程交替運(yùn)行實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11

最新評論

谷城县| 湖北省| 长兴县| 九寨沟县| 永寿县| 神农架林区| 建瓯市| 四平市| 酒泉市| 丰县| 社旗县| 密云县| 清流县| 栾城县| 卫辉市| 石林| 吴忠市| 图木舒克市| 马鞍山市| 巍山| 屏东县| 宽城| 宽甸| 深泽县| 密云县| 称多县| 连南| 民乐县| 临漳县| 嘉鱼县| 贞丰县| 榆社县| 灌云县| 太和县| 法库县| 东丽区| 甘洛县| 洛隆县| 重庆市| 丹江口市| 如东县|