Spring Boot 集成Mybatis(druid 數(shù)據(jù)庫連接池 以及分頁配置)

MyBatis是一款優(yōu)秀的持久層框架,它支持定制化 SQL庆猫、存儲(chǔ)過程以及高級(jí)映射停局,目前很大一部分互聯(lián)網(wǎng)稚茅、軟件公司都在使用這套框架

我們主要關(guān)注幾個(gè)文件

配置文件:generator.properties

主要是數(shù)據(jù)庫的相關(guān)配置拷邢,以及文件生成的根路徑

generator.jdbc.driver=com.mysql.jdbc.Driver

generator.jdbc.url=jdbc:mysql://192.168.xxx.xxx:4596/ek?useUnicode=true&characterEncoding=utf8

generator.jdbc.username=root

#\\u6570\\u636e\\u5e93\\u5bc6\\u7801\\uff0c\\u4e0d\\u8981\\u52a0\\u5bc6\\uff01\\uff01\\uff01

generator.jdbc.password=ek2018

#\\u6570\\u636e\\u5e93\\u540d

generator.jdbc.database=ek

#\\u8868\\u7684\\u524d\\u7f00

generator.jdbc.tablePrefix=t_

#\\u751f\\u6210\\u7684package\\u7ed3\\u6784

generator.package.name=com.ek

#\\u751f\\u6210\\u5230\\u7684\\u9879\\u76ee\\u7684\\u6839\\u8def\\u5f84\\uff0c\\u4f8b\\u5982\\uff1a\\u751f\\u6210\\u5230\\u9879\\u76eeexue-authcenter-web\\u4e0b\\u65f6\\uff0c\\u53ef\\u4ee5\\u8fd9\\u4e48\\u914d\\u7f6e\\uff1a

#generator.target.rootPath=E:/MLCS_HQB/workspace/git/exuePlat/exue-authcenter/exue-authcenter-web

generator.target.rootPath=E:/WorkSpace/eke/code-generator

generatorConfig.xml

這里主要是引用配置文件里的數(shù)據(jù)庫配置袱院,標(biāo)明model、MapperXml解孙、Mapper等文件生成的路徑

<table>標(biāo)簽里寫需要生成文件的表有哪些


connectionURL="${generator.jdbc.url}"

userId="${generator.jdbc.username}"

password="exue2018" />






配置文件結(jié)束后坑填,執(zhí)行Generator.java里的main方法抛人,刷新項(xiàng)目弛姜,就ok了

在現(xiàn)在中,我們可能需要對(duì)生成的文件內(nèi)容做一些額外的配置妖枚,那就根據(jù)具體需求在模板文件里修改

該要的文件都有了廷臼,放到項(xiàng)目中的特定包下

下面看下pom.xml需要加哪些依賴包

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>druid</artifactId>

<version>1.1.0</version>

</dependency>

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>5.1.41</version>

</dependency>

<dependency>

<groupId>org.mybatis.spring.boot</groupId>

<artifactId>mybatis-spring-boot-starter</artifactId>

<version>1.3.1</version>

</dependency>

<!--mapper-->

<dependency>

<groupId>tk.mybatis</groupId>

<artifactId>mapper-spring-boot-starter</artifactId>

<version>1.2.4</version>

</dependency>

<!--pagehelper-->

<dependency>

<groupId>com.github.pagehelper</groupId>

<artifactId>pagehelper-spring-boot-starter</artifactId>

<version>1.2.3</version>

</dependency>

包括了mysql數(shù)據(jù)驅(qū)動(dòng),Mybatis的啟動(dòng)包,數(shù)據(jù)庫連接池druid相關(guān)依賴

打開Spring Boot啟動(dòng)類荠商,在類上添加注解@MapperScan("com.example.demo.mapper")寂恬,記得要掃描mapper接口

@SpringBootApplication

@MapperScan("com.example.demo.mapper")

public class DemoApplication {

public static void main(String[] args) {

SpringApplication.run(DemoApplication.class, args);

}

}

然后來看下mysql的配置,打開application.properties

#datasource

spring.datasource.url=jdbc:mysql://192.168.128.183:4596/eke?useUnicode=true&characterEncoding=UTF-8&useSSL=false

spring.datasource.username=root

spring.datasource.password=exue2018

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.druid.initial-size=1

spring.datasource.druid.min-idle=5

spring.datasource.druid.max-active=20

spring.datasource.druid.max-wait-millis=60000

#mybatis

mybatis.type-aliases-package=com.example.demo.pojo

mybatis.mapper-locations=classpath:mapper/*.xml

#pagehelper

pagehelper.helperDialect=mysql

pagehelper.reasonable=true

pagehelper.supportMethodsArguments=true

pagehelper.params=count=countSql

第一部分是dataSource的配置莱没,包括了數(shù)據(jù)庫地址初肉,庫名,用戶名饰躲,密碼以及相關(guān)數(shù)據(jù)庫連接池的配置

第二部分是Mybatis的配置,包括自定義pojo的包路徑牙咏,不需要加classpath: 以及Mapper xml的路徑

第三部分是分頁的相關(guān)配置

在service層定義接口pageUserBase ,最后返回是以分頁的形式展現(xiàn)

PageResult pageUserBase(UserBaseDTO searchCondition, Pagination page) throws Exception;

怎么去實(shí)現(xiàn)這個(gè)分頁顯示

@Override

public PageResult pageUserBase(UserBaseDTO userBaseDTO, Pagination page) throws Exception {

// TODO Auto-generated method stub

PageHelper.startPage(page.getPage(),page.getRows());

UserBaseExample UserBaseExamle = new UserBaseExample();

UserBaseExamle.setOrderByClause("p_id DESC");

List listUserBase = userBaseMapper.selectByExample(UserBaseExamle);

List listUserBaseDTO = new ArrayList();

for(UserBase ub :listUserBase){

UserBaseDTO ubd = new UserBaseDTO();

ubd.setpId(ub.getpId());

ubd.setsPassword(ub.getsPassword());

ubd.setsPhone(ub.getsPhone());

listUserBaseDTO.add(ubd);

}

Pagination pagination = new Pagination();

pagination = SqlUtil.generatePagination(listUserBase);

return new PageResult<>(listUserBaseDTO, pagination);

}

PageHelper.startPage(page.getPage(),page.getRows());獲取客戶端傳來的頁碼和一頁顯示記錄數(shù)

Pagination pagination = new Pagination();

pagination = SqlUtil.generatePagination(listUserBase);

根據(jù)最后返回的list進(jìn)行分頁處理

返回到controller層后嘹裂,進(jìn)行ResponseMsg的封裝后妄壶,返回客戶端

PageResult res = null;

List list = null;

UserBaseDTO ubt = new UserBaseDTO();

try {

StringBuffer logOut = new StringBuffer();

logOut.append("\n");

logOut.append("cjq2測(cè)試");

logOut.append("\n");

LOGGER.debug(logOut.toString());

Pagination page = new Pagination();

page.setPage(1);

page.setRows(10);;

res = iUserbaseService.pageUserBase(ubt, page);

list = res.getList();

} catch (Exception e) {

// TODO: handle exception

throw new BaseException("數(shù)據(jù)錯(cuò)誤");

//LOGGER.error(e.getMessage());

}

return new ResponseMsg(requestMsg.getRoute(), GeneralConstant.SUCCESS, "查詢成功", res);

啟動(dòng)SpringBoot項(xiàng)目


以上就是我的分享,感謝你耐心看完文章寄狼,覺得有所收獲的朋友們可以點(diǎn)個(gè)關(guān)注哦丁寄,想多學(xué)一點(diǎn)Java方面知識(shí)的朋友們,可以進(jìn)我的一個(gè)后端技術(shù)群泊愧,里面收集了很多Java架構(gòu)資料伊磺,大家可以進(jìn)群免費(fèi)領(lǐng)取的,群號(hào):680075317删咱,也可以進(jìn)群一起交流奢浑,比如遇到技術(shù)瓶頸、面試不過的腋腮,大家一些交流學(xué)習(xí)H副恕!即寡!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末徊哑,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子聪富,更是在濱河造成了極大的恐慌莺丑,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件墩蔓,死亡現(xiàn)場離奇詭異梢莽,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)奸披,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門昏名,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人阵面,你說我怎么就攤上這事轻局『檠迹” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵仑扑,是天一觀的道長览爵。 經(jīng)常有香客問我,道長镇饮,這世上最難降的妖魔是什么蜓竹? 我笑而不...
    開封第一講書人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮储藐,結(jié)果婚禮上梅肤,老公的妹妹穿的比我還像新娘。我一直安慰自己邑茄,他們只是感情好姨蝴,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著肺缕,像睡著了一般左医。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上同木,一...
    開封第一講書人閱讀 52,475評(píng)論 1 312
  • 那天浮梢,我揣著相機(jī)與錄音,去河邊找鬼彤路。 笑死秕硝,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的洲尊。 我是一名探鬼主播远豺,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼坞嘀!你這毒婦竟也來了躯护?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤丽涩,失蹤者是張志新(化名)和其女友劉穎棺滞,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體矢渊,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡继准,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了矮男。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片移必。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖昂灵,靈堂內(nèi)的尸體忽然破棺而出避凝,到底是詐尸還是另有隱情舞萄,我是刑警寧澤眨补,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布管削,位于F島的核電站,受9級(jí)特大地震影響撑螺,放射性物質(zhì)發(fā)生泄漏含思。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一甘晤、第九天 我趴在偏房一處隱蔽的房頂上張望含潘。 院中可真熱鬧,春花似錦线婚、人聲如沸遏弱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽漱逸。三九已至,卻和暖如春游沿,著一層夾襖步出監(jiān)牢的瞬間饰抒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來泰國打工诀黍, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留袋坑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓眯勾,卻偏偏與公主長得像枣宫,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子吃环,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容