文档章节

SpringBoot集成Mybatis

十七宝宝
 十七宝宝
发布于 2017/05/31 16:22
字数 629
阅读 116
收藏 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
杭州
程序员
Spring Boot 全家桶 - SpringBootBucket

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

一刀
03/05
0
1
springboot+mybatis

很久没写写东西了,去年底开始在做微服务改造,玩spring boot还有spring cloud。总结一下,免得脑子不好使,忘记事情。 springboot和spring jpa有很好的天然集成,但是如果要用mybatis的话,...

李不言
2017/05/14
0
0
springboot集成mybatis

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

樱木花道VS康
09/06
0
0
Spring boot Mybatis 整合(完整版)

个人开源项目 springboot+mybatis+thymeleaf+docker构建的个人站点开源项目(集成了个人主页、个人作品、个人博客) 朋友自制的springboot接口文档组件swagger2 更多干货 SpringBoot系列目录...

舒运
07/09
0
0
Spring Boot学习资源

Spring Boot 入门 http://blog.csdn.net/isea533/article/details/50278205 ---------------------------------------------------------- Spring Boot 静态资源处理 http://blog.csdn.net/c......

IamOkay
2017/02/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mac OS X下Maven的安装与配置

Mac OS X 安装Maven: 下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3 打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile 添加下列两行代码,之后...

TonyStarkSir
今天
3
0
关于编程,你的练习是不是有效的?

最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即...

问题终结者
今天
4
0
打开eclipse出现an error has occurred see the log file

解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。...

任梁荣
昨天
4
0
搞定Northwind示例数据库,无论哪个版本的SQLServer都受用

Northwind数据库 从这里可以找到突破口: http://social.msdn.microsoft.com/Forums/zh-CN/Vsexpressvb/thread/8490a1c6-9018-40c9-aafb-df9f79d29cde 下面是MSDN: http://msdn2.microsoft......

QQZZFT
昨天
1
0
mysql主从同步,安装配置操作

准备 两台mysql服务,我这里准备了如下: 主库:192.168.176.128 从库:192.168.176.131 如何在Linux上安装mysql服务,请看https://blog.csdn.net/qq_18860653/article/details/80250499 操作...

小致dad
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部