博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot mybatis 分页整合
阅读量:6804 次
发布时间:2019-06-26

本文共 5197 字,大约阅读时间需要 17 分钟。

spring boot 整合mybatis ,分两块mybatis 整合,分页整合。

 

1.pom文件增加

org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.2
com.github.pagehelper
pagehelper
4.1.6
mysql
mysql-connector-java
com.alibaba
druid
1.0.26

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 文件

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})
UPDATE SALE_ORDER SET NAME_=#{name,jdbcType=VARCHAR}, TOTAL_=#{total,jdbcType=NUMERIC}, CREATOR_=#{creator,jdbcType=VARCHAR} WHERE ID_=#{id}
DELETE FROM SALE_ORDER WHERE ID_=#{id}

注意命名空间

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
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;@Configurationpublic 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;@Servicepublic class SaleOrderService {        @Autowired    SaleOrderDao orderDao;        public void create(SaleOrder order){        orderDao.create(order);    }        public SaleOrder get(String id){        return orderDao.get(id);    }        public Page
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
page(@PathVariable(value="page") int page){ Page
order= saleOrderService.getAll(page); return order; }

 

转载地址:http://ptjwl.baihongyu.com/

你可能感兴趣的文章
数据科学与DevOps之间的差距还有救吗?
查看>>
信息化一周回顾:金融业大数据十大趋势
查看>>
Http、TCP/IP协议与Socket之间的区别
查看>>
文思海辉:智慧数据避免企业成为大数据时代落伍者
查看>>
迅雷发布“星域CDN” 做条颠覆市场的鲶鱼
查看>>
英国《数字经济法案》
查看>>
Asp.net与Flex交互测试记录
查看>>
运维前线:一线运维专家的运维方法、技巧与实践1.8 运维自动化依赖的团队模型...
查看>>
《树莓派渗透测试实战》——第1章 树莓派和Kali Linux基础知识
查看>>
《圣殿祭司的ASP.NET4.0专家技术手册》----1-7 HTML5与CSS3的支持
查看>>
数据结构之链表
查看>>
八年了必须放手了,我不是你妈妈
查看>>
Eric S. Raymond 五部曲
查看>>
《Ansible权威指南 》一2.7 本章小结
查看>>
《iOS编程指南》——2.4节安装iOS SDK
查看>>
Comparing Mongo DB and Couch DB
查看>>
《配置管理最佳实践》——1.6 工具的选择
查看>>
前端工程师如何快速的开发一个微信JSSDK应用
查看>>
Apache Spark源码走读(九)如何进行代码跟读&使用Intellij idea调试Spark源码
查看>>
Android应用安全开发之浅谈网页打开APP
查看>>