一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - mybatis generator 使用方法教程(生成帶注釋的實體類)

mybatis generator 使用方法教程(生成帶注釋的實體類)

2020-12-17 14:57zhaojiatao Java教程

下面小編就為大家帶來一篇mybatis generator 使用方法教程(生成帶注釋的實體類)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

引言:

最近的一個項目,由于數據庫表巨多,導致需要創建n多個java實體、dao、mapper.xml映射文件,如果均使用純手工編寫,無疑需要耗費大量時間和精力。于是上網學習了mybatis generator的使用。

現在項目寫完了,閑暇之余把干貨奉上,供大家直接使用。

需求場景:

當你的java 項目數據庫有n張表需要使用mybatis進行數據庫操作時,建議使用mybatis generator 自動生成工具??梢宰詣訋椭闵蒵ava實體類、dao、mapper.xml等。

首先給大家分享我自己封裝好的mybatis generator代碼自動生成項目,里面集成了中文注釋、mysql的limit分頁功能。

git地址:[email protected]:zhaojiatao/com.zjt.mybatisgenerator.git

代碼克隆到自己的機器上,import到myeclipse中,需要重新編譯一下,就不會報錯了。

此外需要注意需要重新引入一下jar文件夾中的mybatis-generator-plugin-1.0.0.jar,如圖:

mybatis generator 使用方法教程(生成帶注釋的實體類)

最終目錄結構如下

mybatis generator 使用方法教程(生成帶注釋的實體類)

接下來,請打開配置文件,如圖:

(關于generatorconfig.xml的具體教程可參見:http://blog.csdn.net/isea533/article/details/42102297)

mybatis generator 使用方法教程(生成帶注釋的實體類)

接下來,打開generatorconfig.xml,根據你自己的需求,改變如下配置:

首先,修改數據庫連接地址。

mybatis generator 使用方法教程(生成帶注釋的實體類)

期次,聲明本次需要操作的表及為即將生成的實體類命名。

mybatis generator 使用方法教程(生成帶注釋的實體類)

再次,設置實體文件、dao、mapper.xml生成的路徑。

mybatis generator 使用方法教程(生成帶注釋的實體類)

最后,運行startup.java

mybatis generator 使用方法教程(生成帶注釋的實體類)

的main方法執行生成操作。

mysql中本地數據庫表為

mybatis generator 使用方法教程(生成帶注釋的實體類)

create table `student` (
`id` varchar(50) not null comment '主鍵',
`name` varchar(10) default null comment '姓名',
`gender` int(2) default null comment '性別1男2女',
`disc` longtext comment '大文本描述',
primary key (`id`)
) engine=innodb default charset=utf8

對照表,我們看一下生成的包和文件:

mybatis generator 使用方法教程(生成帶注釋的實體類)mybatis generator 使用方法教程(生成帶注釋的實體類)mybatis generator 使用方法教程(生成帶注釋的實體類)

其中student.java文件當然就是數據庫表實體類,對應表的相關字段。

下面,在我們的項目中導入生成的相關文件,如下:

mybatis generator 使用方法教程(生成帶注釋的實體類)

打開student.java 我們可以發現字段已經生成了中文注釋;

mybatis generator 使用方法教程(生成帶注釋的實體類)

打開studentmapper.xml可以發現已經可以使用mysql的limit分頁;

mybatis generator 使用方法教程(生成帶注釋的實體類)

在配置好mybatis的數據庫連接后(mybatis相關配置請自行baidu,本文終點介紹mybatis generator的使用),我們開始數據庫的相關操作:

打開: testmybatis.java

在此,我主要講幾個容易出錯的方法和區別:

1.selectbyexample和selectbyexamplewithblobs的區別(包含example的使用)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@test
 public void testquerystudentexample() {
  sqlsession sqlsession = sqlsessionfactory.opensession(false);
  studentmapper studentmapper = sqlsession.getmapper(studentmapper.class);
  try {
   //分頁查詢性別為男、并且名稱中包含z的記錄,第一頁,每頁3條記錄,按性別排序
   studentexample studentexample=new studentexample();
   studentexample.or().andgenderequalto(1).andnamelike("%z%");
   studentexample.setoffset(0);
   studentexample.setlimit(3);
       studentexample.setorderbyclause("gender desc");
 
   list<student> list1 = studentmapper.selectbyexample(studentexample);
   list<student> list2 = studentmapper.selectbyexamplewithblobs(studentexample);
   system.out.println(list1.get(0).getdisc());
   system.out.println(list2.get(0).getdisc());
  } catch(exception e){
   e.printstacktrace();
   sqlsession.rollback();
  }finally {
   sqlsession.close();
  }
 }

結果:mybatis generator 使用方法教程(生成帶注釋的實體類)

原因:

由于student表中,disc字段類型為longtext,故如果想要搜索結果包含大字段類型,則必須使用selectbyexamplewithblobs。無需檢索大字段,則使用selectbyexample;

2.insertselective和insert的區別

當有部分字段未設值時,使用insertselective:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<span style="font-size: 14px">@test
 public void testinsertstudent() {
  sqlsession sqlsession = sqlsessionfactory.opensession(false);
  studentmapper studentmapper = sqlsession.getmapper(studentmapper.class);
  try {
    
   student s=new student();
   s.setid(java.util.uuid.randomuuid().tostring().replaceall("\\-", ""));
   s.setname("zjt");
   s.setgender(1);
   s.setdisc("mybatis generator 真心好用");
   studentmapper.insertselective(s);
   sqlsession.commit();
    
    
  } catch(exception e){
   e.printstacktrace();
   sqlsession.rollback();
  }finally {
   sqlsession.close();
  }
 }
</span>

結果:

mybatis generator 使用方法教程(生成帶注釋的實體類)

當有所有字段均已設值時,使用insert;

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<span style="font-size: 14px">@test
  public void testinsertstudent() {
    sqlsession sqlsession = sqlsessionfactory.opensession(false);
    studentmapper studentmapper = sqlsession.getmapper(studentmapper.class);
    try {
       
      student s=new student();
      s.setid(java.util.uuid.randomuuid().tostring().replaceall("\\-", ""));
      s.setname("zjt");
      s.setgender(1);
      s.setdisc("mybatis generator 真心好用");
      studentmapper.insertselective(s);
      sqlsession.commit();
       
       
    } catch(exception e){
      e.printstacktrace();
      sqlsession.rollback(); 
    }finally {
      sqlsession.close();
    }
  }
</span>

結果:

mybatis generator 使用方法教程(生成帶注釋的實體類)

3.修改操作

mybatis generator 使用方法教程(生成帶注釋的實體類)

updatebyexample        

如果example定義了兩個字段,數據庫共4個字段,則修改數據庫的兩個字段,其余兩個字段改為null;

updatebyexampleselective    

如果example定義了兩個字段,數據庫共4個字段,則修改數據庫的兩個字段,其余兩個字段不動;

updatebyexamplewithblobs   

和updatebyexample相比此方法可以修改大字段類型,其余性質和updatebyexample相同

updatebyprimarykey       

如果record定義了兩個字段,其中有一個字段是主鍵,數據庫共4個字段,則根據主鍵修改數據庫的兩個字段,其余兩個字段改為null;

updatebyprimarykeyselective   

如果record定義了兩個字段,其中有一個字段是主鍵,數據庫共4個字段,則根據主鍵修改數據庫的兩個字段,其余兩個字段不動;

updatebyprimarykeywithblobs  

和updatebyprimarykey相比此方法可以修改大字段類型,其余性質和updatebyprimarykey相同

以上這篇mybatis generator 使用方法教程(生成帶注釋的實體類)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/zhaojiatao/archive/2017/08/17/7380608.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 爆操美女 | a毛片免费全部在线播放毛 a级在线看 | 接吻吃胸摸下面啪啪教程 | 亚洲精品91香蕉综合区 | 国产夜趣福利第一视频 | 513热点| 91精品久久国产青草 | 乌克兰黄色录像 | 色天天久久 | 国产资源视频在线观看 | 国产亚洲欧美成人久久片 | 91久久国产露脸精品 | 草莓香蕉绿巨人丝瓜榴莲18 | avtt在线| 国内精品免费一区二区三区 | 天天干夜夜拍 | 香蕉在线精品亚洲第一区 | 国产露脸对白刺激3p在线 | 亚洲 欧美 偷自乱 图片 | 肉文np高h | 爱情岛论坛亚洲一号路线 | 日本国产一区二区三区 | 成人影院在线观看视频 | 出a级黑粗大硬长爽猛视频 吃胸膜奶视频456 | 天堂8在线天堂资源在线 | 男同精品视频免费观看网站 | 欧美极品brazzers 高清 | 91在线 在线播放 | 青草悠悠视频在线观看 | 思思99热久久精品在2019线 | 日本人泡妞18xxⅹ | 美女黄金大片视频免费看 | 亚洲系列国产精品制服丝袜第 | 国产精品视频久久久久 | 毛片网站观看 | 亚洲高清视频免费 | 亚洲欧美成人综合久久久 | 国产目拍亚洲精品一区二区三区 | 免费精品在线视频 | 99久久香蕉国产综合影院 | 娇妻被健身教练挺进小说阅读 |