springboot mybatis 分页整合
spring boot 整合mybatis ,分两块mybatis 整合,分页整合。
1.pom文件增加
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency> <dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.6</version>
</dependency> <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.26</version>
</dependency>
2.创建表
CREATE TABLE `sale_order` (
`ID_` varchar(64) NOT NULL DEFAULT '' COMMENT '主键',
`NAME_` varchar(64) DEFAULT NULL COMMENT '订单名称',
`TOTAL_` decimal(14,2) DEFAULT NULL COMMENT '合计',
`CREATOR_` varchar(64) DEFAULT NULL COMMENT '制单人',
`CREATE_TIME_` datetime DEFAULT NULL COMMENT '创建时间',
`TENANT_ID_` varchar(64) DEFAULT NULL,
PRIMARY KEY (`ID_`)
)
3.创建SaleOrder.map.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.neo.dao.SaleOrderDao">
<resultMap id="SaleOrder" type="com.neo.model.SaleOrder">
<id property="id" column="ID_" jdbcType="VARCHAR"/>
<result property="name" column="NAME_" jdbcType="VARCHAR"/>
<result property="total" column="TOTAL_" jdbcType="NUMERIC"/>
<result property="creator" column="CREATOR_" jdbcType="VARCHAR"/>
<result property="createTime" column="CREATE_TIME_" jdbcType="TIMESTAMP"/> </resultMap> <insert id="create" parameterType="com.neo.model.SaleOrder">
INSERT INTO SALE_ORDER
(ID_,NAME_,TOTAL_,CREATOR_,CREATE_TIME_)
VALUES
(#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{total,jdbcType=NUMERIC}, #{creator,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP})
</insert> <select id="get" parameterType="java.lang.String" resultMap="SaleOrder">
SELECT * FROM SALE_ORDER
WHERE
ID_=#{id}
</select> <select id="query" parameterType="java.util.Map" resultMap="SaleOrder">
SELECT * FROM SALE_ORDER </select> <update id="update" parameterType="com.neo.model.SaleOrder">
UPDATE SALE_ORDER SET
NAME_=#{name,jdbcType=VARCHAR},
TOTAL_=#{total,jdbcType=NUMERIC},
CREATOR_=#{creator,jdbcType=VARCHAR}
WHERE
ID_=#{id}
</update> <delete id="remove" parameterType="java.lang.String">
DELETE FROM SALE_ORDER
WHERE
ID_=#{id}
</delete> </mapper>
注意命名空间
com.neo.dao.SaleOrderDao
配置map文件扫描。
mybatis:
typeAliasesPackage: com.neo.model
mapperLocations: classpath:mapper/*.xml
4.增加Dao类
package com.neo.dao; import com.github.pagehelper.Page;
import com.neo.model.SaleOrder; public interface SaleOrderDao { int create(SaleOrder record); void update(SaleOrder record); SaleOrder get(String id); Page<SaleOrder> query(); }
5.配置dao类扫描。
package com; import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import com.neo.filter.ApplicationStartedEventListener;
import com.neo.filter.ApplicationStartedEventListener2;
import com.neo.filter.ApplicationStartingEventListener; @SpringBootApplication
@MapperScan({"com.neo.dao"})
public class DemoApplication { public static void main(String[] args) {
SpringApplication app=new SpringApplication(DemoApplication.class);
app.addListeners(new ApplicationStartedEventListener());
app.addListeners(new ApplicationStartingEventListener());
app.addListeners(new ApplicationStartedEventListener2());
app.run(args);
}
}
这里配置了MapperScan 注解。
6.配置分页
package com.neo.conf; import java.util.Properties; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import com.github.pagehelper.PageHelper; @Configuration
public class PageConfiguration { @Bean
public PageHelper pageHelper(){
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("offsetAsPageNum","true");
properties.setProperty("rowBoundsWithCount","true");
properties.setProperty("reasonable","true");
properties.setProperty("dialect","mysql"); //配置mysql数据库的方言
pageHelper.setProperties(properties);
return pageHelper;
} }
7.编写业务类
package com.neo.service; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.neo.dao.SaleOrderDao;
import com.neo.model.SaleOrder;
@Service
public class SaleOrderService { @Autowired
SaleOrderDao orderDao; public void create(SaleOrder order){
orderDao.create(order);
} public SaleOrder get(String id){
return orderDao.get(id);
} public Page<SaleOrder> getAll(int page){
PageHelper.startPage(page, 2);
return orderDao.query();
}
}
8.配置打印SQL
在application.yml 文件中增加
logging:
level:
com.neo.dao: debug
9.编写控制器代码
@RequestMapping("/add")
public void add(){
SaleOrder order=new SaleOrder();
order.setId(System.currentTimeMillis() +"");
order.setName("zyg");
order.setCreator("AA");
order.setTotal(33D);
saleOrderService.create(order);
} @RequestMapping("/get/{id}")
public SaleOrder get(@PathVariable(value="id") String id){ SaleOrder order= saleOrderService.get(id);
return order;
} @RequestMapping("/page/{page}")
public Page<SaleOrder> page(@PathVariable(value="page") int page){
Page<SaleOrder> order= saleOrderService.getAll(page);
return order;
}
springboot mybatis 分页整合的更多相关文章
- SpringBoot+Mybatis+MybatisPlus整合实现基本的CRUD操作
SpringBoot+Mybatis+MybatisPlus整合实现基本的CRUD操作 1> 数据准备 -- 创建测试表 CREATE TABLE `tb_user` ( `id` ) NOT ...
- springboot + mybatis + mycat整合
1.mycat服务 搭建mycat服务并启动,windows安装参照. 系列文章: [Mycat 简介] [Mycat 配置文件server.xml] [Mycat 配置文件schema.xml] [ ...
- springboot + mybatis +easyUI整合案例
概述 springboot推荐使用的是JPA,但是因为JPA比较复杂,如果业务场景复杂,例如企业应用中的统计等需求,使用JPA不如mybatis理想,原始sql调优会比较简单方便,所以我们的项目中还是 ...
- Springboot+mybatis中整合过程访问Mysql数据库时报错
报错原因如下:com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: The server time zone.. 产生这个 ...
- springboot+mybatis+springmvc整合实例
以往的ssm框架整合通常有两种形式,一种是xml形式,一种是注解形式,不管是xml还是注解,基本都会有一大堆xml标签配置,其中有很多重复性的.springboot带给我们的恰恰是“零配置”,&quo ...
- springboot +mybatis分页插件PageHelper
1.问题描述 JAVA界ORM的两位大佬Hibernate和Mybatis,hb自带分页(上手挺快,以前用了好几年hb,后期运维及优化快疯了),mybatis没有分页功能,需要借助第三方插件来完成,比 ...
- SpringBoot + Mybatis + Redis 整合入门项目
这篇文章我决定一改以往的风格,以幽默风趣的故事博文来介绍如何整合 SpringBoot.Mybatis.Redis. 很久很久以前,森林里有一只可爱的小青蛙,他迈着沉重的步伐走向了找工作的道路,结果发 ...
- SpringBoot Mybatis 分页插件PageHelper
添加maven配置: <!-- 分布插件 --> <dependency> <groupId>com.github.pagehelper</groupId&g ...
- 7.springboot+mybatis+redis整合
选择生成的依赖 选择保存的工程路径 查询已经生成的依赖,并修改mysql的版本 <dependencies> <dependency> <groupId>org.s ...
随机推荐
- Codeforces Beta Round #65 (Div. 2)
Codeforces Beta Round #65 (Div. 2) http://codeforces.com/contest/71 A #include<bits/stdc++.h> ...
- 【laravel VS lumen】
读取项目的配置信息 读取config文件database.php中的default属性信息 laravel:config('database.default'); lumen:app()->co ...
- POJ 2230 Watchcow(有向图欧拉回路)
Bessie's been appointed the new watch-cow for the farm. Every night, it's her job to walk across the ...
- 删除sslvpn用户
config user localedit xinghen unset two-factornextend config user groupedit vpngroup unselect member ...
- Delphi: TLabel设置EllipsisPosition属性用...显示过长文本时,以Hint显示其全文本
仍然是处理多语言中碰到问题. Delphi自2006版以后,TLabel有了EllipsisPosition属性,当长文本超过其大小时,显示以...,如下图: 这样虽然解决显示问题,但很显然,不知道. ...
- cf相关命令
进行登录的命令: cf login -a https://api.bupaas.citicsinfo.com --skip-ssl-validation 进行发布的命令: cf push gwdemo ...
- linq join用法
单条件: var query = from person in people join pet in pets on person equals pet.Owner select new { Owne ...
- 在ubuntu16.04编译安装httperf
在网上偶尔看到httperf可以在测试中使用.网上苦苦找不到ubuntu编译安装的方法.自己琢磨了一下,现在总结如下: apt install httperf vim /etc/security/li ...
- asp.net core mvc 统一过滤参数,防止注入漏洞攻击
参考链接: http://www.lanhusoft.com/Article/132.html 在core下,多少有些改动,其中js部分被注释掉了,如下: public static string F ...
- Linux netstat
一.简介 二.语法 三.实例 1)查看TCP连接数 netstat -n | awk '/^tcp/ {++S[$NF]} END {for (a in S) print a, S[a]}'