文档章节

SpringBoot集成Mybatis

十七宝宝
 十七宝宝
发布于 2017/05/31 16:22
字数 629
阅读 119
收藏 0

摘自车务项目:由于个人开发的车务系统是公司第一个也是唯一一个使用SpringBoot开发的系统,因此查阅了很多资料和博客,不保证本文原创。

(1)新建一个新的Maven Project;

(2)需要在pom.xml文件添加相应的依赖,

比如:mysql驱动;

PageHelper分页插件,需要版本号;

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

 

<modelVersion>4.0.0</modelVersion>

<packaging>pom</packaging>

<name>spring-boot</name>

<modules>

<module>../spring-boot-helloworld</module>

</modules>

<groupId>com.ly</groupId>

<artifactId>spring-boot</artifactId>

<version>1.0-SNAPSHOT</version>

 

<!--

spring boot 父节点依赖,引入这个之后相关的引入就不需要添加version配置,spring boot会自动 选择最合适的版本进行添加。

-->

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>1.4.1.RELEASE</version>

</parent>

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<!-- 指定一下jdk的版本 ,这里我们使用jdk 1.8 ,默认是1.6 -->

<java.version>1.8</java.version>

</properties>

<dependencies>

 

<!--

spring-boot-starter-web: MVC,AOP的依赖包....

-->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<!-- mysql 数据库驱动. -->

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

</dependency>

<!--

spring-boot mybatis依赖:

请不要使用1.0.0版本,因为还不支持拦截器插件

-->

<dependency>

<groupId>org.mybatis.spring.boot</groupId>

<artifactId>mybatis-spring-boot-starter</artifactId>

<version>1.1.1</version>

</dependency>

<!--

MyBatis提供了拦截器接口,我们可以实现自己的拦截器,

将其作为一个plugin装入到SqlSessionFactory中。

Github上有位开发者写了一个分页插件,我觉得使用起来还可以,挺方便的。

Github项目地址: https://github.com/pagehelper/Mybatis-PageHelper

-->

<dependency>

<groupId>com.github.pagehelper</groupId>

<artifactId>pagehelper</artifactId>

<version>4.1.0</version>

</dependency>

</dependencies>

 

</project>

(3)编写启动类,大部分和之前的代码是一样的,需要的注意的是:

需要添加一个注解@MapperScan --指定MyBatis持久类的位置;

@SpringBootApplication

@MapperScan("com.ly.hello.mapper")//扫描:该包下相应的class,主要是MyBatis的持久化类.

public class App {

public static void main(String[] args) {

SpringApplication.run(App.class,args);

}

}

(4)在application.properties添加配置文件;

spring.datasource.url = jdbc:mysql://localhost:3306/test

spring.datasource.username = root

spring.datasource.password = tiger

spring.datasource.driverClassName = com.mysql.jdbc.Driver

spring.datasource.max-active=20

spring.datasource.max-idle=8

spring.datasource.min-idle=8

spring.datasource.initial-size=10

(5)编写HelloController测试类;

@RestController

@RequestMapping("/hello")

public class HelloController {

@Autowired

private HelloService helloService;

 

@RequestMapping("/getPerson")

public List<Person> getPerson(){

return helloService.getPerson();

}

}

(6)编写HelloMapper;

public interface HelloMapper {

@Select("select * from person")

List<Person> getPerson();

}

(7)编写HelloServiceImpl

@Service

public class HelloServiceImpl implements HelloService {

@Autowired

private HelloMapper helloMapper;

@Override

public List<Person> getPerson() {

return helloMapper.getPerson();

}

}

(8)测试结果;

(9)加入PageHelper:

@Configuration

public class MyBatisConfiguration {

@Bean

public PageHelper pageHelper() {

System.out.println("MyBatisConfiguration.pageHelper()");

PageHelper pageHelper = new PageHelper();

Properties p = new Properties();

p.setProperty("offsetAsPageNum", "true");

p.setProperty("rowBoundsWithCount", "true");

p.setProperty("reasonable", "true");

pageHelper.setProperties(p);

return pageHelper;

}

}

@RequestMapping("/getPerson")

public List<Person> getPerson(){

PageHelper.startPage(1, 2);

return helloService.getPerson();

}

(10)获取自增长ID;

@Insert("insert into Demo(name) values(#{name})")

@Options(useGeneratedKeys=true,keyProperty="id",keyColumn="id")

public void save(Demo demo);

© 著作权归作者所有

十七宝宝
粉丝 0
博文 12
码字总数 6864
作品 0
杭州
程序员
私信 提问
SpringBootBucket 1.0.0 发布,SprintBoot 全家桶

Spring Boot 现在已经成为Java 开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。 本项目对目前Web开发中常用的各个技术,通过和SpringBoot的集成,并且对各种技术通过“一...

一刀
2018/03/05
7.3K
17
SpringBootBucket 2.0.4 发布,代号“傲娇的小二晶”

SpringBootBucket 自从1.0.0版本发布后就有好多人喜欢,目前码云上面star数量接近1.2k。上个月还收到了红薯签名的1000 star奖杯,这个我自己也觉得很惊讶。 由于SpringBoot 1.x官方将终止维护...

一刀
2018/09/16
1K
4
Spring Boot 全家桶 - SpringBootBucket

Spring Boot 现在已经成为Java 开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。 本项目对目前Web开发中常用的各个技术,通过和SpringBoot的集成,并且对各种技术通过“一...

一刀
2018/03/05
0
1
SpringBoot+Mybatis集成搭建

本博客介绍一下SpringBoot集成Mybatis,数据库连接池使用alibaba的druid,使用SpringBoot微框架虽然集成Mybatis之后可以不使用xml的方式来写sql,但是用惯了xml的其实也可以用xml来实现的,实...

smileNicky
02/10
0
0
springboot集成mybatis

大家好,springboot集成mybatis不需要创建 这样的配置吗? springmvc+mybatis在xml会配置数据源、SqlSessionFactory等,springboot只需要在yml文件上写好连接地址就行了吗?是springboot自动...

樱木花道VS康
2018/09/06
112
1

没有更多内容

加载失败,请刷新页面

加载更多

Android双向绑定原理简述

Android双向绑定原理简述 双向绑定涉及两个部分,即将业务状态的变化传递给UI,以及将用户输入信息传递给业务模型。 首先我们来看业务状态是如何传递给UI的。开启dataBinding后,编译器为布局...

tommwq
今天
3
0
Spring系列教程八: Spring实现事务的两种方式

一、 Spring事务概念: 事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的话,那么事务就会回滚到最开始的状态,仿佛什么都没发生过一样。...

我叫小糖主
今天
7
0
CentOS 的基本使用

1. 使用 sudo 命令, 可以以 root 身份执行命令, 必须要在 /etc/sudoers 中定义普通用户 2. 设置 阿里云 yum 镜像, 参考 https://opsx.alibaba.com/mirror # 备份mv /etc/yum.repos.d/CentO...

北漂的我
昨天
3
0
Proxmox VE技巧 移除PVE “没有有效订阅” 的弹窗提示

登陆的时候提示没有有效的订阅You do not have a valid subscription for this server. Please visit www.proxmox.com to get a list of available options. 用的是免费版的,所以每次都提示......

以谁为师
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部