亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解mybatis生成文件

發布時間:2021-10-20 17:13:28 來源:億速云 閱讀:90 作者:柒染 欄目:大數據

今天就跟大家聊聊有關如何理解mybatis生成文件,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

mybatis逆向工程之生成文件解釋

一、mapper接口中的方法解析

mapper接口中的函數及方法

方法功能說明
int countByExample(UserExample example) thorws SQLException按條件計數
int deleteByPrimaryKey(Integer id) thorws SQLException按主鍵刪除
int deleteByExample(UserExample example) thorws SQLException按條件查詢
String/Integer insert(User record) thorws SQLException插入數據(返回值為ID)
User selectByPrimaryKey(Integer id) thorws SQLException按主鍵查詢
ListselectByExample(UserExample example) thorws SQLException按條件查詢
ListselectByExampleWithBLOGs(UserExample example) thorws SQLException按條件查詢(包括BLOB字段)。只有當數據表中的字段類型有為二進制的才會產生。
int updateByPrimaryKey(User record) thorws SQLException按主鍵更新
int updateByPrimaryKeySelective(User record) thorws SQLException按主鍵更新值不為null的字段
int updateByExample(User record, UserExample example) thorws SQLException按條件更新
int updateByExampleSelective(User record, UserExample example) thorws SQLException按條件更新值不為null的字段

二、example實例解析

mybatis的逆向工程中會生成實例及實例對應的example,example用于添加條件,相當where后面的部分 
xxxExample example = new xxxExample(); 
Criteria criteria = new Example().createCriteria();

方法說明
example.setOrderByClause(“字段名 ASC”);添加升序排列條件,DESC為降序
example.setDistinct(false)去除重復,boolean型,true為選擇不重復的記錄。
criteria.andXxxIsNull添加字段xxx為null的條件
criteria.andXxxIsNotNull添加字段xxx不為null的條件
criteria.andXxxEqualTo(value)添加xxx字段等于value條件
criteria.andXxxNotEqualTo(value)添加xxx字段不等于value條件
criteria.andXxxGreaterThan(value)添加xxx字段大于value條件
criteria.andXxxGreaterThanOrEqualTo(value)添加xxx字段大于等于value條件
criteria.andXxxLessThan(value)添加xxx字段小于value條件
criteria.andXxxLessThanOrEqualTo(value)添加xxx字段小于等于value條件
criteria.andXxxIn(List<?>)添加xxx字段值在List<?>條件
criteria.andXxxNotIn(List<?>)添加xxx字段值不在List<?>條件
criteria.andXxxLike(“%”+value+”%”)添加xxx字段值為value的模糊查詢條件
criteria.andXxxNotLike(“%”+value+”%”)添加xxx字段值不為value的模糊查詢條件
criteria.andXxxBetween(value1,value2)添加xxx字段值在value1和value2之間條件
criteria.andXxxNotBetween(value1,value2)添加xxx字段值不在value1和value2之間條件

三、應用舉例

1.查詢

① selectByPrimaryKey()

User user = XxxMapper.selectByPrimaryKey(100); //相當于select * from user where id = 100

② selectByExample() 和 selectByExampleWithBLOGs()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("wyw");
criteria.andUsernameIsNull();
example.setOrderByClause("username asc,email desc");
List<?>list = XxxMapper.selectByExample(example);
//相當于:select * from user where username = 'wyw' and  username is null order by username asc,email desc

注:在iBator逆向工程生成的文件XxxExample.Java中包含一個static的內部類Criteria,Criteria中的方法是定義SQL 語句where后的查詢條件。

2.插入數據

①insert()

User user = new User();
user.setId("dsfgsdfgdsfgds");
user.setUsername("admin");
user.setPassword("admin")
user.setEmail("wyw@163.com");
XxxMapper.insert(user);
//相當于:insert into user(ID,username,password,email) values ('dsfgsdfgdsfgds','admin','admin','wyw@126.com');
3.更新數據

①updateByPrimaryKey()

User user =new User();
user.setId("dsfgsdfgdsfgds");
user.setUsername("wyw");
user.setPassword("wyw");
user.setEmail("wyw@163.com");
XxxMapper.updateByPrimaryKey(user);
//相當于:update user set username='wyw', password='wyw', email='wyw@163.com' where id='dsfgsdfgdsfgds'

②updateByPrimaryKeySelective()

User user = new User();
user.setId("dsfgsdfgdsfgds");
user.setPassword("wyw");
XxxMapper.updateByPrimaryKey(user);
//相當于:update user set password='wyw' where id='dsfgsdfgdsfgds'

③ updateByExample() 和 updateByExampleSelective()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("admin");
User user = new User();
user.setPassword("wyw");
XxxMapper.updateByPrimaryKeySelective(user,example);
//相當于:update user set password='wyw' where username='admin'

updateByExample()更新所有的字段,包括字段為null的也更新,建議使用 updateByExampleSelective()更新想更新的字段

4.刪除數據

①deleteByPrimaryKey()

XxxMapper.deleteByPrimaryKey(1);  //相當于:delete from user where id=1

②deleteByExample()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("admin");
XxxMapper.deleteByExample(example);
//相當于:delete from user where username='admin'

數量

①countByExample()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("wyw");
int count = XxxMapper.countByExample(example);
//相當于:select count(*) from user where username='wyw'

看完上述內容,你們對如何理解mybatis生成文件有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

邹城市| 惠安县| 霍山县| 玛纳斯县| 铜山县| 新干县| 正镶白旗| 阳原县| 镇宁| 襄城县| 田林县| 西林县| 南宫市| 安乡县| 宁城县| 齐河县| 邯郸市| 沾化县| 大方县| 洪洞县| 黄浦区| 周宁县| 六安市| 万安县| 虹口区| 和顺县| 廊坊市| 北辰区| 新河县| 改则县| 徐闻县| 安阳县| 靖宇县| 古蔺县| 缙云县| 呼图壁县| 蕲春县| 土默特左旗| 丹东市| 名山县| 视频|