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

您的位置:首頁技術文章
文章詳情頁

詳解Mybatis是如何把數據庫數據封裝到對象中的

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

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

二、準備階段1.數據表

詳解Mybatis是如何把數據庫數據封裝到對象中的

2.表對應的實體類

@Data@ApiModel('用戶賬號')public class User { @ApiModelProperty(value = '用戶id') Integer id; @ApiModelProperty(value = '密碼') String password; @ApiModelProperty(value = '用戶名') String name; @ApiModelProperty(value = '狀態') 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直接注入UserController層中,其中使用到spring boot注解加swagger2注解,稍后使用swagger2進行測試

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是如何把數據庫數據封裝到對象中的

6.測試

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

swagger2結果:

詳解Mybatis是如何把數據庫數據封裝到對象中的

控制臺結果:

詳解Mybatis是如何把數據庫數據封裝到對象中的

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

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

swagger2結果:

詳解Mybatis是如何把數據庫數據封裝到對象中的

控制臺結果:

詳解Mybatis是如何把數據庫數據封裝到對象中的

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

3.我準備在實體類中做點改變,再測試獲取id為2的用戶賬號,如下:

改變后的實體類:

詳解Mybatis是如何把數據庫數據封裝到對象中的

其他地方不變,看結果。首先,swagger2結果:

詳解Mybatis是如何把數據庫數據封裝到對象中的

再看,控制臺結果:

詳解Mybatis是如何把數據庫數據封裝到對象中的

小結:通過上面一些測試結果,我斷言當數據庫數據為null時,框架不會調用該屬性的Setter方法為其賦值,而是會使用它的默認值。還有,從控制臺輸出順序可看出,調用Setter方法順序為數據表字段從左至右依次開始封裝。

在此,我又冒出了一個新的想法,我想測試前端傳到后端的json數據是不是也是這個結論。還是使用上面準備的環境開始測試:

注意:實體類中@ApiModelProperty(value = '狀態') Integer type;

先把swagger2中數據設置好

詳解Mybatis是如何把數據庫數據封裝到對象中的

先看控制臺結果:

詳解Mybatis是如何把數據庫數據封裝到對象中的

再看數據庫中數據:

詳解Mybatis是如何把數據庫數據封裝到對象中的

小結:跟我預想的結果有些出入,本以type為null也不會調用Setter方法。因此,spring boot在封裝前端傳來的json數據時,就算數據為null,也會去調用Setter方法。

三、結尾

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

標簽: Mybatis 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国精品产品一区| 国产一区日韩欧美| 免费日韩av片| 午夜久久久久| 夜夜嗨网站十八久久| 一区久久精品| 欧美一区=区| 蜜臀久久99精品久久久久宅男| 香蕉久久夜色精品国产| 久久成人国产| 婷婷综合国产| 国产精品久久久久久久久免费高清| 欧美精品aa| 日韩精品一区二区三区免费视频| 日韩高清二区| 免费一级欧美在线观看视频| 欧美成a人片免费观看久久五月天| 国产一区国产二区国产三区| 人在线成免费视频| 亚洲精品2区| 亚洲精品一级| 国产精品免费大片| 亚洲黄色免费av| 99视频精品全部免费在线视频| 在线精品小视频| 99在线|亚洲一区二区| 亚洲精品成a人ⅴ香蕉片| 日韩精品一区二区三区av | 国产精品伦理久久久久久| 日韩成人免费| 国产综合精品一区| 亚洲91网站| 精品在线网站观看| 国产一区日韩欧美| 日韩av电影一区| 日韩国产欧美一区二区| 丝袜美腿亚洲一区二区图片| 欧美欧美黄在线二区| 国产一区二区三区天码| 亚洲国产日韩欧美在线| 国产欧美另类| а√天堂8资源在线| 在线视频日韩| 国产精品1luya在线播放| 999久久久免费精品国产| 中文字幕免费精品| 国产精品99一区二区三| 日韩专区欧美专区| 国产videos久久| 性色一区二区| 国产aa精品| 亚洲午夜久久| 美女一区网站| 日韩在线观看一区二区三区| 91欧美日韩| 日韩亚洲精品在线观看| 精品深夜福利视频| 亚洲一区国产一区| 成人台湾亚洲精品一区二区| 视频一区二区三区入口| 国产精品蜜芽在线观看| 在线一区二区三区视频| 中文一区一区三区高中清不卡免费| 亚洲区第一页| 久久国产小视频| 欧美aa在线视频| 国产精品嫩草99av在线| 精品九九在线| 婷婷成人av| 99久久亚洲精品| 麻豆91在线播放| 国产精品人人爽人人做我的可爱| 欧美激情麻豆| 午夜天堂精品久久久久| 91tv亚洲精品香蕉国产一区| 国产欧美高清视频在线| 在线视频免费在线观看一区二区| 久久久久久久久成人| 巨乳诱惑日韩免费av| 免费福利视频一区二区三区| 国产探花在线精品| 丝袜美腿亚洲一区| 久久久久中文| 精品日本视频| 欧美在线91| 热久久久久久久| 97se综合| 国产黄色精品| 亚州精品视频| 亚洲在线网站| 久久精品国产www456c0m| 国产专区精品| 麻豆国产欧美一区二区三区 | 三级在线观看一区二区| 久久国产毛片| 日本精品黄色| 国产精品xxxav免费视频| 亚洲a级精品| 国产视频欧美| 91综合视频| 国产精品激情| 日本午夜精品久久久| 视频在线观看一区| 欧美精品一区二区三区精品| 成人欧美一区二区三区的电影| 免费精品一区| 国产精品日韩精品在线播放| 亚洲啊v在线免费视频| 国产亚洲福利| 在线视频精品| 国产亚洲在线观看| 久久国产中文字幕| 天堂√8在线中文| 精品美女在线视频| 欧美日韩亚洲一区| 日韩高清欧美激情| 日本在线不卡视频| 少妇精品久久久| 日韩**一区毛片| 日韩国产欧美一区二区三区| 日韩精品中文字幕一区二区| 日本伊人久久| 日本精品在线播放| 国产欧美日韩亚洲一区二区三区| 日韩av一级片| 久久国产日韩欧美精品| 国产精品久久亚洲不卡| 欧美精品91| 成人国产精品一区二区网站| 日韩1区2区| 美女网站视频一区| 欧美va天堂在线| 午夜久久黄色| 中文无码久久精品| 日韩va亚洲va欧美va久久| 欧美一区免费| 精品国产乱码久久久| 97精品在线| 久久免费大视频| 亚洲在线电影| 日本在线一区二区三区| 青青草国产精品亚洲专区无| 国产精品主播在线观看| 免费一级欧美片在线观看网站 | 四虎成人精品一区二区免费网站| 日本色综合中文字幕| 麻豆精品在线观看| 成人看片网站| 久久国产成人| 欧美日本不卡| 日韩成人免费| aa亚洲婷婷| 日本午夜免费一区二区| 牛牛精品成人免费视频| 亚洲国产福利| 激情久久五月| 久久中文视频| 欧美一区=区| 国产精品调教视频| 国产精品13p| 亚洲婷婷在线| 日韩在线一二三区| 久久精品99国产精品日本| 电影91久久久| 亚洲精品一二三区区别| 亚洲香蕉久久| 精品不卡一区| 亚洲资源av| 国产精品一区高清| 蜜桃精品在线| 中文字幕一区二区精品区| 视频一区日韩精品| 精品伊人久久| 亚洲一区二区成人| 国产精品巨作av| 免费毛片在线不卡| 日本免费一区二区视频| 日韩视频网站在线观看| 在线观看亚洲精品福利片| 精品在线网站观看| 欧美在线综合| 国产一区二区三区国产精品| 亚洲欧美日韩国产| 美女久久久精品| 亚洲一区成人| 麻豆精品久久| 免费观看不卡av| 欧美国产日韩电影| 伊人久久亚洲影院| 国产精品毛片久久久| 欧美特黄一级| 欧美激情网址| 水野朝阳av一区二区三区| 国产精品99一区二区三区| 日韩精品一级中文字幕精品视频免费观看| 蜜桃久久久久| 石原莉奈在线亚洲三区| 激情黄产视频在线免费观看| 日本视频中文字幕一区二区三区| 亚洲韩日在线|