激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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 自動生成工具。可以自動幫助你生成java實體類、dao、mapper.xml等。

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

git地址:git@github.com: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∨片免费视频 | 免费黄色欧美视频 | 99re66热这里只有精品8 | 亚州综合 | 亚洲性综合网 | 免费高潮在线国 | 欧洲精品久久久久69精品 | 国产精品久久久久久影院8一贰佰 | av在线免费看网址 | 成人黄色免费小视频 | 毛片av网 | 免费视频 久久久 | 日本网站一区 | 国产午夜精品一区二区三区视频 | 欧美成人a | 久久久久久久久浪潮精品 | 国产精品久久久久无码av | 欧美a级一区二区 | 国产 一区 精品 | 性欧美xxxx免费岛国不卡电影 | www.成人精品 | 国产毛片毛片 | 网站激情 | 精品成人免费一区二区在线播放 | 免费a级网站 | 色播久久 | 欧美特黄一级高清免费的香蕉 | 九九热精品在线播放 | 日本看片一区二区三区高清 | 圆产精品久久久久久久久久久 | 欧美片一区二区 | 狠狠干天天 | 成人免费观看49www在线观看 | 成人不卡 | 成人免费毛片在线观看 | 一级黄色免费 | 日韩美香港a一级毛片 | 日本高清一级片 | 欧美精品a∨在线观看不卡 午夜精品影院 | 久久6国产 |