使用IDEA+Spring Boot整合+Mybatis逆向工程生成代码+PageHelper实现查询结果分页

SpringBoot整合Mybatis

		<dependency>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-core</artifactId>
			<version>1.3.2</version>
		</dependency>
			<!-- 添加mybatis 自动生成插件 -->
		<plugin>
					<groupId>org.mybatis.generator</groupId>
					<artifactId>mybatis-generator-maven-plugin</artifactId>
					<version>1.3.2</version>
					<configuration>
						<verbose>true</verbose>
						<overwrite>true</overwrite>
					</configuration>
				</plugin>

配置相关参数 用于生成dao层、model层、Mapper映射文件

创建generator.properties

#mysql \u9A71\u52A8jar\u5730\u5740
#jdbc.driverLocation=D:\\apache-maven-3.6.3\\repository\\com\\oracle\\ojdbc6\\11.1.0.1\\ojdbc6-11.1.0.1.jar
jdbc.driverLocation=************************
#jdbc.driverClass=oracle.jdbc.driver.OracleDriver
jdbc.driverClass=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.connectionURL=jdbc:*************************
jdbc.userId=*******
jdbc.password=*******
#\u5B9E\u4F53\u7C7B\u751F\u6210\u5305\u8DEF\u5F84
entity.targetPackage=com.authoritySystem.model.po
#SqlMap\u914D\u7F6E\u6587\u4EF6\u751F\u6210\u76EE\u5F55
SqlMap.targetPackage=xml.rolepriv
#mapper\u63A5\u53E3\u751F\u6210\u76EE\u5F55
#\u8868\u540D
mapper.targetPackage=com.authoritySystem.mapper
#\u8868\u540D
tableName=rolepriv
#\u5B9E\u4F53\u7C7B\u540D \u7EDF\u4E00DO\u7ED3\u5C3E
entityName=RoleprivDo

在application.yml配置数据库连接、配置Mapper映射文件

spring:
	datasource:  
		 name: sqlserver_test
	 druid:
	 	url: jdbc:**************************              
      username: ******
      password: ******
      initial-size: 1 #配置初始化大小/最大/最小
      min-idle: 1
      max-active: 20 #获取连接等待超时时间
      max-wait: 60000
      time-between-eviction-runs-millis: 60000 #间隔多久进行一侧检测,检测需要的空闲连接
      min-evictable-idle-time-millis: 30000 #一个连接在池中最小生存时间
      validation-query: SELECT 'x' #检查数据库是否断开需要发送sql语句
      test-while-idle: true  #空闲的时候进行检测
      test-on-borrow: false #是否检测池里连接的可用性,做了这个配置会降低性能
      test-on-return: false #归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
      max-pool-prepared-statement-per-connection-size: 20
      

在Spring Boot启动类上使用@MapperScan(basePackages = {“xxx.dao”}

PageHelper实现查询结果分页

可以使用两种方案

1.使用SpringBoot的自动配置版
2.使用pagehelpe+配置版

1.SpringBoot版引入依赖自动配置

  1. 引入依赖
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper-spring-boot-starter</artifactId>
			<version>1.2.5</version>
		</dependency>

引入依赖之后即可直接使用

2.引入PageHelper在application.yml中添加配置

  1. 1引入依赖
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper</artifactId>
			<version>4.2.0</version>
		</dependency>

2.2在application.yml中添加配置

#pagehelper分页插件配置
pagehelper:
  helperDialect: *****(你的数据库:mysql、oracle、sqlserver)
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql

插入其他的知识:

在application.yml配置文件mybatis下添加配置可以在idea的控制台打印sql

mybatis:  
  mapperLocations: classpath*:xml/*.xml 
  type-aliases-package: com.authoritySystem.entity
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
其中configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    可以在控制台输出sql

示例

Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4b4de97] was not registered for synchronization because synchronization is not active
JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@4b3c95ed] will not be managed by Spring
==>  Preparing: select * from rolepriv where roleid =? 
==> Parameters: 1(String)
<==    Columns: functionid, priv, roleid
<==        Row: 1, 1, 1
<==        Row: 3, 1, 1
<==      Total: 2
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4b4de97]

使用方式:

前台接收pageNumber+pageSize
ServiceImpl
GetRoleListVo vo =new GetRoleListVo();
        Integer pageNumber = Integer.parseInt(params.getPageNumber());
        Integer pageSize = Integer.parseInt(params.getPageSize());
        if (null != pageNumber && pageSize > 0) {
            PageHelper.startPage(pageNumber, pageSize);
        }
        List<RoleDo> infoList = roleDoMapper.selectRoleInfo();
        PageInfo<RoleDo> pageInfo = new PageInfo<>(infoList);
        List<RoleDo> list = pageInfo.getList();
        PageVO pageVO = new PageVO(pageInfo);
        vo.setList(list);
        vo.setPage(pageVO);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值