日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

map比vo效率 mybatis_mybatis-plus插件使用的一些问题

發布時間:2024/9/30 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 map比vo效率 mybatis_mybatis-plus插件使用的一些问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

介紹

mybatis-plus是國內大牛在Mybatis3的基礎上做了一些封裝,簡化了一些操作(分頁,自動生成實體塊等)。是快速開發一個不錯的工具插件。

Mybatis 增強工具包 - 只做增強不做改變,簡化CRUD操作

優點

純正血統:完全繼承原生 Mybatis 的所有特性

最少依賴:僅僅依賴Mybatis以及Mybatis-Spring

性能損耗小:啟動即會自動注入基本CURD ,性能無損耗,直接面向對象操作

自動熱加載:Mapper對應的xml可以熱加載,大大減少重啟Web服務器時間,提升開發效率

自動生成代碼:包含自動生成代碼類以及Maven插件,通過少量配置,即可快速生成Mybatis對應的xml、mapper、entity、service、serviceimpl層代碼,減少開發時間

自定義操作:支持自定義Sql注入,實現個性化操作

自定義轉義規則:支持數據庫關鍵詞(例如:order、key等)自動轉義,支持自定義關鍵詞

多種主鍵策略:支持多達4種主鍵策略,可自由配置,若無將會自動填充,更有充滿黑科技的分布式全局唯一ID生成器

無縫分頁插件:基于Mybatis物理分頁,無需關心具體操作,等同于編寫基本selectList查詢

性能分析:自帶Sql性能分析插件,開發測試時,能有效解決慢查詢

全局攔截:提供全表delete、update操作智能分析阻斷

避免Sql注入:內置Sql注入內容剝離器,預防Sql注入攻擊

我的感受

我們項目是spring-boot + mybatis-plus,官方也有一個這樣的Demo,在搭建一些比較套路的工程還是很節約時間的,它自動生成代碼的插件可以生成 Entity.mapper,Entity.java,EntityVo.java,EntityBusinessController.java,EntityService.java,IEntityMapper.java等一系列Spring mvc文件架構,大大節約了開發時間。但是就JDBCUtil來說,它還是比較單薄的,只提供了基本的增刪查改,用起來可能沒有自己寫的工具類好用,但這些都可以根據自己習慣和數據結構封裝進去的。另外就是作者定義的一套規則我們需要注意一下,否則可能在開發過程中要話費額外的時間去找bug。

遇到的問題

返回的list只有數據庫字段不含大寫的屬性

通常生成的mapper.xml如下:

SELECT * FROM fund_account

我們發現在控制層去調用.selectObjPage方法時,返回值只有id和realname有信息,找了一下發現是返回值的原因。我們在實體類中做了數據綁定

Entity.java

package com.senthink.www.micat.domain.po;

import com.baomidou.mybatisplus.annotations.IdType;

import com.baomidou.mybatisplus.annotations.TableField;

import com.baomidou.mybatisplus.annotations.TableId;

import com.baomidou.mybatisplus.annotations.TableName;

@TableName("fund_account")

public class TestEntity {

@TableId(type = IdType.AUTO)

private Integer id;

@TableField(value = "user_id")

private String userId;

private String realname;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getUserId() {

return userId;

}

public void setUserId(String userId) {

this.userId = userId;

}

public String getRealname() {

return realname;

}

public void setRealname(String realname) {

this.realname = realname;

}

}

而實體的數據綁定是通過mapper.xml中

來完成連接的。所以,當你想返回TestEntity實體類型的時候必須要返回的是這個定義的resultMap,即把

修改為

即可。

setDbColumnUnderline導致的字段不一致

mybatis-plus的setDbColumnUnderline設置使得數據庫字段強行按照java實體的駱駝式命名法大寫字母前轉化為下劃線加小寫的命名規范。

如TestEntity中的userId在拼裝sql語句時自動對應為userId,所以這就要求你實體命名和數據庫字段名必須滿足這個規則,若出現不滿足規則的命名,如

passwordMD5,將被編譯為password_m_d5這樣就會報sql錯誤了。

解決辦法:

按照規范命名,對未規范的命名全部修改

設置不用其下劃線命名法,在MybatisPlusConfig.java中設置

MybatisSqlSessionFactoryBean mybatisPlus = new MybatisSqlSessionFactoryBean();

mybatisPlus.setDbColumnUnderline(true);

總結

以上是生活随笔為你收集整理的map比vo效率 mybatis_mybatis-plus插件使用的一些问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: av香蕉网 | 欧美中文视频 | 日日碰狠狠添天天爽无码av | 在线欧美 | 91亚洲国产 | 国产男女猛烈无遮挡a片漫画 | 精品人妻二区中文字幕 | 男生操男生网站 | 96av视频| 色婷婷电影网 | 日韩三级在线观看 | 中文字幕第页 | 国产福利视频一区二区 | 曰本三级日本三级日本三级 | 午夜久久一区 | 国产精品乱 | 丁香婷婷激情五月 | 永久免费无码av网站在线观看 | 久久成人国产 | zzjj国产精品一区二区 | 91操碰| 久久婷婷激情 | 欧美色图亚洲激情 | 亚洲一线av | 国产精品久久久久久久 | 女生扒开尿口 | 999久久久免费精品国产 | 自拍偷拍欧美激情 | 国产精品区一区二 | 久久香蕉网 | 国产精品久久久久久亚洲 | 亚洲午夜无码久久久久 | 无码精品人妻一区二区三区漫画 | 暖暖免费观看日本版 | 中国女人黄色大片 | 亚洲欧美一区二区三区久久 | 天天色天天 | 亚洲一区二区视频在线 | 中文字幕二 | 高清乱码免费看污 | 欧美乱妇狂野欧美在线视频 | gv天堂gv无码男同在线观看 | 小香蕉影院 | 中文字幕一区二区三区在线观看 | 亚洲精品aⅴ | 老女人网站 | 人人射av | 欧美日韩激情在线一区二区三区 | 中文字幕三级电影 | 日本视频不卡 | 日本免费一区视频 | wwwxxx黄色片 | 欧美男人天堂 | 蜜桃视频一区二区三区 | gav成人 | 欧洲亚洲一区二区三区 | a天堂在线 | 色国产视频 | 波多野吉衣一区 | 国产真实乱人偷精品人妻 | 哺乳援交吃奶在线播放 | 97九色| www.com国产| 亚洲一区二区三区加勒比 | 免费av的网站 | 成人免费做受小说 | 青青青在线 | 最新天堂中文在线 | 亚洲卡一卡二卡三 | 国产成人欧美一区二区三区的 | 久久久久久久久久久久久女过产乱 | 李丽珍毛片 | 黄色在线观看视频网站 | 极品少妇xxxx | 国产香蕉精品视频 | 涩涩免费网站 | 欧美成人a∨高清免费观看 国产精品999视频 | 91精品人妻一区二区三区 | 可以免费看av的网址 | 艳妇乳肉豪妇荡乳 | 免费在线不卡视频 | 亚洲激情网址 | 久久99精品久久久久久琪琪 | 久久久久久在线观看 | 日本香蕉视频 | 亚洲dvd| 日韩激情小视频 | 日韩一级片在线播放 | www.亚洲精品 | 免费观看黄色网 | 国产古装艳史毛片hd | 成人一区二区三区仙踪林 | 操日本老太太 | 蜜桃视频成人 | 97超视频在线观看 | 奶波霸巨乳一二三区乳 | 国产高清在线观看 | 日韩一区网站 | 91理论片午午伦夜理片久久 |