MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射,目前很大一部分互联网、软件公司都在使用这套框架

关于Mybatis-Generator的下载可以到这个地址:https://github.com/mybatis/generator/releases

下来来之后,我们主要关注几个文件

配置文件:generator.properties

主要是数据库的相关配置,以及文件生成的根路径

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

这里主要是引用配置文件里的数据库配置,标明model、MapperXml、Mapper等文件生成的路径

<table>标签里写需要生成文件的表有哪些

<!-- 数据库连接 -->
<jdbcConnection driverClass="${generator.jdbc.driver}"
connectionURL="${generator.jdbc.url}"
userId="${generator.jdbc.username}"
password="exue2018" /> <!-- model生成 -->
<javaModelGenerator targetPackage="com.exue.dao.model" targetProject="E:/WorkSpace/eLearning/exue-eLearning/exue-code-generator/src/main/java" /> <!-- MapperXML生成 -->
<sqlMapGenerator targetPackage="com.exue.dao.mapper" targetProject="E:/WorkSpace/eLearning/exue-eLearning/exue-code-generator/src/main/java" /> <!-- Mapper接口生成 -->
<javaClientGenerator targetPackage="com.exue.dao" targetProject="E:/WorkSpace/eLearning/exue-eLearning/exue-code-generator/src/main/java" type="XMLMAPPER" /> <!-- 需要映射的表 -->
<!-- 需要映射的表 -->
<table tableName="t_user_base" domainObjectName="UserBase"></table>

配置文件结束后,执行Generator.java里的main方法,刷新项目,就ok了

在现在中,我们可能需要对生成的文件内容做一些额外的配置,那就根据具体需求在模板文件里修改

该要的文件都有了,放到项目中的特定包下

下面看下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数据驱动,Mybatis的启动包,数据库连接池druid相关依赖

打开Spring Boot启动类,在类上添加注解@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的配置,包括了数据库地址,库名,用户名,密码以及相关数据库连接池的配置

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

第三部分是分页的相关配置

在service层定义接口pageUserBase ,最后返回是以分页的形式展现

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

怎么去实现这个分页显示

@Override
public PageResult<UserBaseDTO> 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<UserBase> listUserBase = userBaseMapper.selectByExample(UserBaseExamle);
List<UserBaseDTO> listUserBaseDTO = new ArrayList<UserBaseDTO>();
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());获取客户端传来的页码和一页显示记录数
Pagination pagination = new Pagination();
pagination = SqlUtil.generatePagination(listUserBase);
根据最后返回的list进行分页处理 返回到controller层后,进行ResponseMsg的封装后,返回客户端
PageResult<UserBaseDTO> res = null;
List<UserBaseDTO> list = null;
UserBaseDTO ubt = new UserBaseDTO();
try {
StringBuffer logOut = new StringBuffer();
logOut.append("\n");
logOut.append("cjq2测试");
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("数据错误");
//LOGGER.error(e.getMessage());
}
return new ResponseMsg(requestMsg.getRoute(), GeneralConstant.SUCCESS, "查询成功", res);

启动SpringBoot项目

 
												

Spring Boot 集成 Mybatis(druid 数据库连接池 以及 分页配置)的更多相关文章

  1. spring boot集成mybatis(2) - 使用pagehelper实现分页

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  2. 【spring boot】15.spring boot项目 采用Druid数据库连接池,并启用druid监控功能

    在http://www.cnblogs.com/sxdcgaq8080/p/9039442.html的基础上,来看看spring boot项目中采用Druid连接池. GitHub地址:示例代码 == ...

  3. spring boot 学习(四)Druid连接池的使用配置

    Druid介绍 Druid是一个JDBC组件,druid 是阿里开源在 github 上面的数据库连接池,它包括三部分: * DruidDriver 代理Driver,能够提供基于Filter-Cha ...

  4. spring boot+spring security集成以及Druid数据库连接池的问题

    贴工程目录,其中bll目录下是service+dao层,common是一些公用的模块及功能类,web是controller层 用到了druid及Redis,工具及配置类目录(本文不介绍如何配置drui ...

  5. spring boot集成mybatis(3) - mybatis generator 配置

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  6. spring boot集成mybatis(1)

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  7. 太妙了!Spring boot 整合 Mybatis Druid,还能配置监控?

    Spring boot 整合 Mybatis Druid并配置监控 添加依赖 <!--druid--> <dependency> <groupId>com.alib ...

  8. Spring Boot集成MyBatis开发Web项目

    1.Maven构建Spring Boot 创建Maven Web工程,引入spring-boot-starter-parent依赖 <project xmlns="http://mav ...

  9. 详解Spring Boot集成MyBatis的开发流程

    MyBatis是支持定制化SQL.存储过程以及高级映射的优秀的持久层框架,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集. spring Boot是能支持快速创建Spring应用的Java框 ...

随机推荐

  1. 0_Simple__simpleTemplates + 0_Simple__simpleTemplates_nvrtc

    使用 C++ 的模板 ▶ 源代码:静态使用 // sharedmem.cuh #ifndef _SHAREDMEM_H_ #define _SHAREDMEM_H_ // SharedMemory 的 ...

  2. mysql 解除安全模式

    问题:rror Code: 1175. You are using safe update mode and you tried to update a table without a WHERE t ...

  3. JAVA WebSocKet ( 简单的聊天室 )

    1, 前端代码 登入页 -> login.html <!DOCTYPE html> <html> <head> <meta charset=" ...

  4. jquery formValidator 表单验证插件, ajax无法传值到后台问题的解决

    今天使用jquery   formValidator-4.0.1 这个插件做表单验证,  前台验证已写好, 准备写ajax验证, 结果无法把值传到后台 .ajaxValidator({ url : & ...

  5. 6 unit3-文件操作&函数 review

    文件处理相关 1.编码问题 (1)请说明python2 与python3中的默认编码是什么? py2默认ASCII码,py3默认的utf8 (2)为什么会出现中文乱码?你能列举出现乱码的情况有哪几种? ...

  6. apiCloud上传头像

    apiCloud上传头像 1.拍照 2.从相机中选择 aui布局 <li class="aui-list-item"> <div class="aui- ...

  7. mysql case, if

    if语句: 用法和excel的if函数很像 if(expr1, value_if_expr1_is_true, value_if_expr1_is_false) select if(tag = 3, ...

  8. 一个简单例子弄懂什么是javascript函数劫持

    javascript函数劫持很简单,一般情况下,只要在目标函数触发之前,重写这个函数即可. 比如,劫持eval函数的代码如下: var _eval=eval; eval=function(x){ if ...

  9. 趣味编程:FizzBuzz(Kotlin版)

    fun toFizzBuzzIf(n: Int) = if (n % 3 == 0 && n % 5 == 0) "FizzBuzz" else if (n % 3 ...

  10. struts2 防止表单重复提交--令牌机制

    jsp: action: 配置文件: