日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

詳解Mybatis是如何把數(shù)據(jù)庫數(shù)據(jù)封裝到對象中的

瀏覽:261日期:2023-10-20 15:55:14
一、前言

接到一個(gè)問題,數(shù)據(jù)庫為Null的數(shù)據(jù),傳遞到前端顯示為0。之前有了解過,持久層框架(mybatis)在把數(shù)據(jù)庫數(shù)據(jù)封裝到對象中,是利用對象的Setter方法,這個(gè)大家也都知道,因此我就在Setter方法嘗試,結(jié)果并不完全是這樣。下面我用例子演示。

二、準(zhǔn)備階段1.數(shù)據(jù)表

詳解Mybatis是如何把數(shù)據(jù)庫數(shù)據(jù)封裝到對象中的

2.表對應(yīng)的實(shí)體類

@Data@ApiModel('用戶賬號')public class User { @ApiModelProperty(value = '用戶id') Integer id; @ApiModelProperty(value = '密碼') String password; @ApiModelProperty(value = '用戶名') String name; @ApiModelProperty(value = '狀態(tài)') Integer type; public void setType(Integer type) { if (type == null) { this.type = 0; } else { this.type = type; } System.out.println('id為'+this.id+'的type = ' + this.type); } public void setName(String name) { this.name = name; System.out.println('id為'+this.id+'的name = ' + this.name); }}

這里用到的是lombok和swagger2注解

3.Controller層

@RestController@RequestMapping('/user')@Api(tags = 'UserController', description = '用戶管理')public class UserController { @Autowired private UserDao userDao; @GetMapping('/getUser/{id}') @ApiOperation('獲取用戶賬號') public User getUser(@PathVariable @ApiParam('用戶id') Integer id) { return userDao.selectOne(id); } @PostMapping('/setUser') @ApiOperation('添加用戶賬號') public void setUser(@RequestBody User user) { userDao.insert(user); }}

圖方便,我就將UserDao直接注入U(xiǎn)serController層中,其中使用到spring boot注解加swagger2注解,稍后使用swagger2進(jìn)行測試

4.Dao層

public interface UserDao{ @Select('select * from user where id=#{id}') User selectOne(Integer id); @Insert('insert into user values(null,#{name},#{password},#{type})') void insert(User user);}

注意:dao接口需要被掃描到才能完成映射

5.swagger2接口

詳解Mybatis是如何把數(shù)據(jù)庫數(shù)據(jù)封裝到對象中的

6.測試

1.先獲取id為1的用戶賬號:

swagger2結(jié)果:

詳解Mybatis是如何把數(shù)據(jù)庫數(shù)據(jù)封裝到對象中的

控制臺(tái)結(jié)果:

詳解Mybatis是如何把數(shù)據(jù)庫數(shù)據(jù)封裝到對象中的

說明這里都有使用Setter方法賦值

2.再獲取id為2的用戶賬號:

swagger2結(jié)果:

詳解Mybatis是如何把數(shù)據(jù)庫數(shù)據(jù)封裝到對象中的

控制臺(tái)結(jié)果:

詳解Mybatis是如何把數(shù)據(jù)庫數(shù)據(jù)封裝到對象中的

首先,swagger2結(jié)果中 type為null,而不是我們期望的0;再就是,控制臺(tái)也只打印出了一句話。這是怎么回事呢?別急,我們接著往下看。

3.我準(zhǔn)備在實(shí)體類中做點(diǎn)改變,再測試獲取id為2的用戶賬號,如下:

改變后的實(shí)體類:

詳解Mybatis是如何把數(shù)據(jù)庫數(shù)據(jù)封裝到對象中的

其他地方不變,看結(jié)果。首先,swagger2結(jié)果:

詳解Mybatis是如何把數(shù)據(jù)庫數(shù)據(jù)封裝到對象中的

再看,控制臺(tái)結(jié)果:

詳解Mybatis是如何把數(shù)據(jù)庫數(shù)據(jù)封裝到對象中的

小結(jié):通過上面一些測試結(jié)果,我斷言當(dāng)數(shù)據(jù)庫數(shù)據(jù)為null時(shí),框架不會(huì)調(diào)用該屬性的Setter方法為其賦值,而是會(huì)使用它的默認(rèn)值。還有,從控制臺(tái)輸出順序可看出,調(diào)用Setter方法順序?yàn)閿?shù)據(jù)表字段從左至右依次開始封裝。

在此,我又冒出了一個(gè)新的想法,我想測試前端傳到后端的json數(shù)據(jù)是不是也是這個(gè)結(jié)論。還是使用上面準(zhǔn)備的環(huán)境開始測試:

注意:實(shí)體類中@ApiModelProperty(value = '狀態(tài)') Integer type;

先把swagger2中數(shù)據(jù)設(shè)置好

詳解Mybatis是如何把數(shù)據(jù)庫數(shù)據(jù)封裝到對象中的

先看控制臺(tái)結(jié)果:

詳解Mybatis是如何把數(shù)據(jù)庫數(shù)據(jù)封裝到對象中的

再看數(shù)據(jù)庫中數(shù)據(jù):

詳解Mybatis是如何把數(shù)據(jù)庫數(shù)據(jù)封裝到對象中的

小結(jié):跟我預(yù)想的結(jié)果有些出入,本以type為null也不會(huì)調(diào)用Setter方法。因此,spring boot在封裝前端傳來的json數(shù)據(jù)時(shí),就算數(shù)據(jù)為null,也會(huì)去調(diào)用Setter方法。

三、結(jié)尾

到此這篇關(guān)于詳解Mybatis是如何把數(shù)據(jù)庫數(shù)據(jù)封裝到對象中的的文章就介紹到這了,更多相關(guān)Mybatis 數(shù)據(jù)封裝到對象 內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Mybatis 數(shù)據(jù)庫
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美精选视频一区二区| 免费在线成人| 国产欧美三级| 视频一区日韩精品| 久久亚洲国产精品一区二区| 午夜一级久久| 亚洲欧洲专区| 国产精品多人| 久久国产人妖系列| 亚洲欧美日韩精品一区二区 | 91精品电影| 久久国产主播| 狠狠色综合网| 日本电影久久久| 麻豆久久一区| 精品成av人一区二区三区| 国产激情在线播放| 免费视频一区二区三区在线观看| 青青国产91久久久久久| 激情综合亚洲| 99久久久国产精品美女| 久久精品国产大片免费观看| 成人在线丰满少妇av| 日韩中文一区二区| 欧美日韩国产免费观看视频| 日韩中文字幕一区二区三区| 国产精品最新自拍| 中文字幕系列一区| 欧美搞黄网站| 日韩1区2区3区| 亚洲不卡av不卡一区二区| 免费人成在线不卡| 国产一区福利| 亚洲啊v在线| 在线亚洲观看| 国产精品毛片久久久| 欧美国产不卡| 国产精品2区| 欧美成人精品| 国产欧美久久一区二区三区| 久久影院资源站| 日韩成人亚洲| 亚洲欧美不卡| 青青国产91久久久久久| 国产福利片在线观看| 亚洲一区二区三区四区五区午夜 | 婷婷综合网站| 在线免费观看亚洲| 麻豆精品少妇| 亚洲自拍另类| 免费亚洲婷婷| 国产欧美日韩影院| 不卡一区综合视频| 欧美国产不卡| 免费久久精品视频| 日韩1区在线| 国产精品66| 日韩午夜av| 一区二区三区视频免费观看| 国产色99精品9i| 欧洲av一区二区| 欧美亚洲免费| 国产精品毛片在线| 国产传媒av在线| 亚洲一区二区三区高清不卡| 欧美freesex黑人又粗又大| 日韩精品欧美成人高清一区二区| 粉嫩av一区二区三区四区五区 | 高清久久一区| 国产农村妇女精品一区二区| 久久精品97| 日韩精品欧美| 久草免费在线视频| 国产精品嫩模av在线| 国产综合精品一区| 日韩在线免费| 中文字幕亚洲影视| 免费人成精品欧美精品| 亚洲另类av| 蜜桃久久av一区| 欧美天堂亚洲电影院在线观看| 美女久久99| 国产九九精品| 国产精品主播| 国产精品久久久久av蜜臀| 国产精品国产三级在线观看| 亚洲精品成人一区| 美女久久网站| 欧美国产一级| 四虎884aa成人精品最新| 国产99在线| 日韩不卡免费高清视频| 久久久夜夜夜| 丝袜美腿亚洲一区| 亚洲一区二区三区高清不卡| 黄色在线网站噜噜噜| 国产精品麻豆久久| 涩涩av在线| 免费高潮视频95在线观看网站| 精品国产午夜肉伦伦影院| 男女男精品网站| 欧美特黄一区| 日韩视频一二区| 岛国av在线网站| 亚洲精品一区二区妖精| 综合激情在线| 成人污污视频| 91日韩免费| 不卡中文一二三区| 男人的天堂亚洲一区| 美女少妇全过程你懂的久久| 久久久久久黄| 1024精品久久久久久久久| 日本在线不卡视频一二三区| 精品国产欧美| 视频一区欧美日韩| 91精品国产经典在线观看| 久久久久久色 | 在线看片福利| 日韩视频二区| 欧美激情另类| 免费视频一区三区| 日韩二区三区四区| 日韩大片免费观看| 日韩av一级片| 影院欧美亚洲| 日韩成人午夜精品| 99精品网站| 亚洲精一区二区三区| av一区在线| 18国产精品| 另类国产ts人妖高潮视频| 久久www成人_看片免费不卡| 精品久久电影| 日韩av中文在线观看| 视频在线观看91| 国产一区三区在线播放| 青草国产精品久久久久久| 国产亚洲一级| 久久久久国产精品一区三寸| 成人日韩av| 亚洲国产成人精品女人| 日韩在线短视频| 国产精品观看| 波多野结衣一区| 成人国产精品一区二区免费麻豆| 日本在线观看不卡视频| 中文字幕一区二区三区四区久久 | 国产一卡不卡| 国产精品嫩草99av在线| 婷婷成人基地| 日韩精品第一| 中文字幕一区二区av| 99国产精品久久久久久久| 精品视频一区二区三区在线观看 | av资源中文在线| 日韩在线综合| 日产欧产美韩系列久久99| 久久影院一区二区三区| 日韩专区欧美专区| 精品免费av| 日韩中文字幕av电影| 国内自拍视频一区二区三区| 91精品91| 国产精品精品| 一区二区91| 国产精品原创| 亚洲午夜一级| 欧美a级一区二区| 亚洲午夜免费| 国产精品99视频| 亚洲毛片在线| 日韩在线二区| 精品一区二区三区中文字幕视频| 免费日韩一区二区| 国产a久久精品一区二区三区| 亚洲精品少妇| 亚洲精品一区三区三区在线观看| 亚洲精品亚洲人成在线观看| 久久成人av| 中文字幕日韩高清在线| 伊人久久高清| 日韩精品欧美大片| 美女精品一区| 美女毛片一区二区三区四区| 精品国产成人| 国产日韩精品视频一区二区三区| 欧美在线影院| 亚洲午夜天堂| 成人欧美一区二区三区的电影| 国产精品黄网站| 日韩成人精品一区二区三区 | 中文字幕在线官网| 国产精品宾馆| 中文字幕av亚洲精品一部二部 | 成人在线超碰| 国产午夜精品一区在线观看| 亚洲日本免费电影| 亚洲一区二区三区免费在线观看 | 日韩在线一区二区|