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. 位运算骚操作 Part 2

    ▶ 计算 unsigned int v 的以 2 为底的对数,结果放入 unsigned int r . // 方法零 #pragma unroll ;v; r++, v >>= ); / ...

  2. 表析LESS、Sass和Stylus的异同

    . 首页 博客园 联系我 前言:CSS预处理语言. 基本差别. 基本语法. 变量与作用域. 混合(Mixins). 嵌套实现后代选择器. 继承. 条件语句. 循环语句. 综合对比. 留言评论 返回顶部 ...

  3. 解决org.springframework.context.NoSuchMessageException: No message found under code 'login.validate.er

    转自:https://blog.csdn.net/steveguoshao/article/details/36184971 在项目中遇到 org.springframework.context.No ...

  4. location 对象属性

    Location 对象属性 hash 返回一个URL的锚部分 host 返回一个URL的主机名和端口 hostname 返回URL的主机名 href 返回完整的URL pathname 返回的URL路 ...

  5. 【转】UNITY之LUA加密

    来自:Lua加密 两种方式:一种用luac,一种用luajit luac加密: 1.lua本身可以使用luac将脚本编译为字节码(bytecode)从而实现加密,去官网下载Lua源代码包(http:/ ...

  6. sqlserver查询自定义的函数

    1)sp_helptext同样适应用自定义函数 2)sys.sql_modules表也可以查 查看函数的源代码: exec sp_helptext '函数名'

  7. eclispse修改项目项目编码

    最近遇到问题,在myeclipse新建或导入项目后,有些文件中文显示乱码,每次都要在项目property中修改其编码,所以想到一次性解决所有编码问题,让项目新建或导入之后自动是utf-8编码,这样就不 ...

  8. Oracle VM VirtualBox做好虚拟硬盘后,如何进一步修改虚拟硬盘的大小

    以管理员身份打开, 命令提示符窗口,然后利用命令cd进入Oracle VM VirtualBox安装目录,如下图: 我进入了Oracle VM VirtualBox安装目录:D:\Program Fi ...

  9. ssh-keygen生成私钥和公钥

    ssh-keygen生成私钥和公钥 例: 用户名:root 服务器地址:192.168.1.10 生成:ssh-keygen -t rsa -b 4096 -C“root@192.168.1.10” ...

  10. suse11 sp4(虚拟机) 安装程序时报错 找不到iso

    一个可能原因是iso掉了.我用的virtualbox安装的suse,支持不是很好,suse启动后,因为驱动问题强制umount了iso,所以掉了.重启后,不要去动virtualbox插件问题,插件错误 ...