當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
SpringBoot2.0 基础案例(10):整合Mybatis框架,集成分页助手插件
生活随笔
收集整理的這篇文章主要介紹了
SpringBoot2.0 基础案例(10):整合Mybatis框架,集成分页助手插件
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、Mybatis框架
1、mybatis簡(jiǎn)介
MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動(dòng)設(shè)置參數(shù)以及獲取結(jié)果集。MyBatis 可以使用簡(jiǎn)單的 XML 或注解來(lái)配置和映射原生類型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 對(duì)象)為數(shù)據(jù)庫(kù)中的記錄。
2、mybatis特點(diǎn)
1)sql語(yǔ)句與代碼分離,存放于xml配置文件中,方便管理 2)用邏輯標(biāo)簽控制動(dòng)態(tài)SQL的拼接,靈活方便 3)查詢的結(jié)果集與java對(duì)象自動(dòng)映射 4)編寫原生態(tài)SQL,接近JDBC 5)簡(jiǎn)單的持久化框架,框架不臃腫簡(jiǎn)單易學(xué)3、適用場(chǎng)景
MyBatis專注于SQL本身,是一個(gè)足夠靈活的DAO層解決方案。
對(duì)性能的要求很高,或者需求變化較多的項(xiàng)目,MyBatis將是不錯(cuò)的選擇。
二、與SpringBoot2.0整合
1、項(xiàng)目結(jié)構(gòu)圖
采用druid連接池,該連接池。
2、核心依賴
<!-- mybatis依賴 --> <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.2</version> </dependency> <!-- mybatis的分頁(yè)插件 --> <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>4.1.6</version> </dependency>3、核心配置
mybatis:# mybatis配置文件所在路徑config-location: classpath:mybatis.cfg.xmltype-aliases-package: com.boot.mybatis.entity# mapper映射文件mapper-locations: classpath:mapper/*.xml4、逆向工程生成的文件
這里就不貼代碼了。
5、編寫基礎(chǔ)測(cè)試接口
// 增加 int insert(ImgInfo record); // 組合查詢 List<ImgInfo> selectByExample(ImgInfoExample example); // 修改 int updateByPrimaryKeySelective(ImgInfo record); // 刪除 int deleteByPrimaryKey(Integer imgId);6、編寫接口實(shí)現(xiàn)
@Service public class ImgInfoServiceImpl implements ImgInfoService {@Resourceprivate ImgInfoMapper imgInfoMapper ;@Overridepublic int insert(ImgInfo record) {return imgInfoMapper.insert(record);}@Overridepublic List<ImgInfo> selectByExample(ImgInfoExample example) {return imgInfoMapper.selectByExample(example);}@Overridepublic int updateByPrimaryKeySelective(ImgInfo record) {return imgInfoMapper.updateByPrimaryKeySelective(record);}@Overridepublic int deleteByPrimaryKey(Integer imgId) {return imgInfoMapper.deleteByPrimaryKey(imgId);} }7、控制層測(cè)試類
@RestController public class ImgInfoController {@Resourceprivate ImgInfoService imgInfoService ;// 增加@RequestMapping("/insert")public int insert(){ImgInfo record = new ImgInfo() ;record.setUploadUserId("A123");record.setImgTitle("博文圖片");record.setSystemType(1) ;record.setImgType(2);record.setImgUrl("https://avatars0.githubusercontent.com/u/50793885?s=460&v=4");record.setLinkUrl("https://avatars0.githubusercontent.com/u/50793885?s=460&v=4");record.setShowState(1);record.setCreateDate(new Date());record.setUpdateDate(record.getCreateDate());record.setRemark("知了");record.setbEnable("1");return imgInfoService.insert(record) ;}// 組合查詢@RequestMapping("/selectByExample")public List<ImgInfo> selectByExample(){ImgInfoExample example = new ImgInfoExample() ;example.createCriteria().andRemarkEqualTo("知了") ;return imgInfoService.selectByExample(example);}// 修改@RequestMapping("/updateByPrimaryKeySelective")public int updateByPrimaryKeySelective(){ImgInfo record = new ImgInfo() ;record.setImgId(11);record.setRemark("知了一笑");return imgInfoService.updateByPrimaryKeySelective(record);}// 刪除@RequestMapping("/deleteByPrimaryKey")public int deleteByPrimaryKey() {Integer imgId = 11 ;return imgInfoService.deleteByPrimaryKey(imgId);} }8、測(cè)試順序
http://localhost:8010/insert http://localhost:8010/selectByExample http://localhost:8010/updateByPrimaryKeySelective http://localhost:8010/deleteByPrimaryKey三、集成分頁(yè)插件
1、mybatis配置文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><plugins><!--mybatis分頁(yè)插件--><plugin interceptor="com.github.pagehelper.PageHelper"><property name="dialect" value="mysql"/></plugin></plugins> </configuration>2、分頁(yè)實(shí)現(xiàn)代碼
@Override public PageInfo<ImgInfo> queryPage(int page,int pageSize) {PageHelper.startPage(page,pageSize) ;ImgInfoExample example = new ImgInfoExample() ;// 查詢條件example.createCriteria().andBEnableEqualTo("1").andShowStateEqualTo(1);// 排序條件example.setOrderByClause("create_date DESC,img_id ASC");List<ImgInfo> imgInfoList = imgInfoMapper.selectByExample(example) ;PageInfo<ImgInfo> pageInfo = new PageInfo<>(imgInfoList) ;return pageInfo ; }3、測(cè)試接口
http://localhost:8010/queryPage四、源代碼地址
GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 碼云地址:知了一笑 https://gitee.com/cicadasmile/spring-boot-base
總結(jié)
以上是生活随笔為你收集整理的SpringBoot2.0 基础案例(10):整合Mybatis框架,集成分页助手插件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 在MVC3项目中结合NInject实现依
- 下一篇: DAI、DHCP SNOOPING、ip