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 分页整合的更多相关文章

  1. SpringBoot+Mybatis+MybatisPlus整合实现基本的CRUD操作

    SpringBoot+Mybatis+MybatisPlus整合实现基本的CRUD操作 1> 数据准备 -- 创建测试表 CREATE TABLE `tb_user` ( `id` ) NOT ...

  2. springboot + mybatis + mycat整合

    1.mycat服务 搭建mycat服务并启动,windows安装参照. 系列文章: [Mycat 简介] [Mycat 配置文件server.xml] [Mycat 配置文件schema.xml] [ ...

  3. springboot + mybatis +easyUI整合案例

    概述 springboot推荐使用的是JPA,但是因为JPA比较复杂,如果业务场景复杂,例如企业应用中的统计等需求,使用JPA不如mybatis理想,原始sql调优会比较简单方便,所以我们的项目中还是 ...

  4. Springboot+mybatis中整合过程访问Mysql数据库时报错

    报错原因如下:com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: The server time zone.. 产生这个 ...

  5. springboot+mybatis+springmvc整合实例

    以往的ssm框架整合通常有两种形式,一种是xml形式,一种是注解形式,不管是xml还是注解,基本都会有一大堆xml标签配置,其中有很多重复性的.springboot带给我们的恰恰是“零配置”,&quo ...

  6. springboot +mybatis分页插件PageHelper

    1.问题描述 JAVA界ORM的两位大佬Hibernate和Mybatis,hb自带分页(上手挺快,以前用了好几年hb,后期运维及优化快疯了),mybatis没有分页功能,需要借助第三方插件来完成,比 ...

  7. SpringBoot + Mybatis + Redis 整合入门项目

    这篇文章我决定一改以往的风格,以幽默风趣的故事博文来介绍如何整合 SpringBoot.Mybatis.Redis. 很久很久以前,森林里有一只可爱的小青蛙,他迈着沉重的步伐走向了找工作的道路,结果发 ...

  8. SpringBoot Mybatis 分页插件PageHelper

    添加maven配置: <!-- 分布插件 --> <dependency> <groupId>com.github.pagehelper</groupId&g ...

  9. 7.springboot+mybatis+redis整合

    选择生成的依赖 选择保存的工程路径 查询已经生成的依赖,并修改mysql的版本 <dependencies> <dependency> <groupId>org.s ...

随机推荐

  1. sizeof 4字节对齐

    #include <iostream> #include<assert.h> using namespace std; typedef struct sys{ char a; ...

  2. 自动化测试之selenium工具简单介绍

    一.selenium简单介绍 1.selenium的成员 2.selenium工作原理 二.webdrive 常见元素定位

  3. swift - 本地通知2 - 啰嗦版

    1. import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var windo ...

  4. 监测多个textFiled.text的长度同时不小于0

    #pragma mark - 显示超过11位不让输入 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange: ...

  5. 在Eclipse中安装python插件的方法

    一个博士给了我一堆代码,原本以为是C++或者java写的,结果是python,我压根没学过呀,不过本着语言都是相通的原则,我硬着头皮开始学习Python,当然先学习安装IDE(以前学习一门新语言,我会 ...

  6. Vue 数组 字典 template v-for 的使用

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. URLEncoder.encode转译后“空格”变“加号”的问题的解决方案

    我用dst_fname=URLEncoder.encode(dst_fname);对字符串dst_fname进行编码,但是发现空格全部都变成了加号,我们提需求的傻B非得要空格的,但是不编码有很多非常特 ...

  8. iOS.C

    iOS开发中C语言的应用: 1. NS_ENUM & NS_OPTIONS http://nshipster.com/ns_enum-ns_options/

  9. (O)JS高阶函数应用——函数节流

    在一些函数需被频繁调用的场景,如:window.onresize.mousemove.scroll滚动事件.上传进度等等,操作频繁导致性能消耗过高,而造成浏览器卡顿现象,我们可以通过函数节流的方式解决 ...

  10. mount重新挂载为写模式

    mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system mount -o remount,rw -t rootfs rootfs /