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 ...
随机推荐
- unity项目开发必备插件Asset Hunter 2(资源猎人2)
unity必备插件 Asset Hunter 2 2.4 , 工程项目过大,垃圾太多之后的清洁利器,能识别 ,移除你用不到的资源 扫码时备注或说明中留下邮箱 付款后如未回复请至https://shop ...
- c#控件的动画显示效果
1. 缘由: 项目中任务完成有个提示,需要以动画效果展示,其效果当如下图: 此为老项目为Delphi所写,改用c#实现,此效果做些设计.本也不难,小技而已,但为易于扩展,写了个静态类实现. 2. A ...
- easyui datagrid 三层嵌套
代码: function local(role,region,ip){ $("#roleList").datagrid({ // title:'服务器监控列表', height:( ...
- linux命令学习之:sort
sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出.sort命令既可以从特定的文件,也可以从stdin中获取输入. 语法 sort (选项) (参数) 选项 sort将文 ...
- golang语言中sync/atomic包的学习与使用
package main; import ( "sync/atomic" "fmt" "sync" ) //atomic包提供了底层的原子级 ...
- avalon子孙元素属性监听
HTML正文: <body ms-controller="ex"> <div class="ms-hover" ms-click=" ...
- 9.17-9.19h5日记
9.17 ❤关于position(absolute.relative) position:relative: top:100px: right:200px: 如果relative设置值,则是根据它原来 ...
- Linux_(3)Shell编程(上)
一.shell 简介Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言.Shell 是指一种应用程序,这个应用程序提供了一个 ...
- (转)关于X64位系统IIS7下支持32位asp.net程序
最近在windows2008 x64位系统下的IIS7下部署asp.net程序. vs2005或vs2008默认的情况下是Any cpu 的也就是支持x86和x64两种系统的.可我的程序在引用了一个三 ...
- poj 1321 (简单DFS) 棋盘问题
题目:http://poj.org/problem?id=1321 最近状态有点down, 练练手 #include<cstdio> using namespace std; ][]; ] ...