国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

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

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

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

下面小編就為大家?guī)硪黄猰ybatis generator 使用方法教程(生成帶注釋的實體類)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

引言:

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

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

需求場景:

當(dāng)你的java 項目數(shù)據(jù)庫有n張表需要使用mybatis進(jìn)行數(shù)據(jù)庫操作時,建議使用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 使用方法教程(生成帶注釋的實體類)

最終目錄結(jié)構(gòu)如下

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

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

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

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

接下來,打開generatorconfig.xml,根據(jù)你自己的需求,改變?nèi)缦屡渲茫?/p>

首先,修改數(shù)據(jù)庫連接地址。

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

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

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

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

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

最后,運行startup.java

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

的main方法執(zhí)行生成操作。

mysql中本地數(shù)據(jù)庫表為

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文件當(dāng)然就是數(shù)據(jù)庫表實體類,對應(yīng)表的相關(guān)字段。

下面,在我們的項目中導(dǎo)入生成的相關(guān)文件,如下:

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

打開student.java 我們可以發(fā)現(xiàn)字段已經(jīng)生成了中文注釋;

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

打開studentmapper.xml可以發(fā)現(xiàn)已經(jīng)可以使用mysql的limit分頁;

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

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

打開: testmybatis.java

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

1.selectbyexample和selectbyexamplewithblobs的區(qū)別(包含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();
  }
 }

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

原因:

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

2.insertselective和insert的區(qū)別

當(dāng)有部分字段未設(shè)值時,使用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>

結(jié)果:

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

當(dāng)有所有字段均已設(shè)值時,使用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>

結(jié)果:

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

3.修改操作

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

updatebyexample        

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

updatebyexampleselective    

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

updatebyexamplewithblobs   

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

updatebyprimarykey       

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

updatebyprimarykeyselective   

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

updatebyprimarykeywithblobs  

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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 天天插天天狠 | 日韩在线观看一区 | 一区视频在线 | 夜夜操导航 | 国产精品久久一区 | 亚洲乱码国产乱码精品精98午夜 | 久久蜜桃精品一区二区三区综合网 | 97成人精品视频在线观看 | 国产精品久久久久久久 | 亚洲成人高清 | 蜜桃av一区二区三区 | 51ⅴ精品国产91久久久久久 | 涩涩综合 | 91精品久久久久久久久久入口 | 高清日韩av | 日韩有码在线视频 | 亚洲国产精品久久久久秋霞蜜臀 | 日日操视频 | 亚洲欧洲精品一区二区 | 亚洲精品久久久一区二区三区 | 91丨九色丨国产 | 黄色av三级| 成人高清在线视频 | 午夜精品久久久久久久久久久久 | 亚洲精品一区二区三区樱花 | 久久99久久99 | 视频精品一区 | 欧美日韩久 | 国产一区二区三区欧美 | 高清国产午夜精品久久久久久 | 国产区视频在线观看 | 久久精品亚洲精品国产欧美kt∨ | 欧美美女爱爱 | 免费的av网站 | 亚洲欧美高清 | 日韩在线观看一区 | 午夜精品在线 | 一本久久a久久精品亚洲 | 欧美国产精品一区 | 国产亚洲精品久久久久动 | 亚洲国产精品一区二区第一页 |