文档章节

SpringBoot集成Mybatis

十七宝宝
 十七宝宝
发布于 2017/05/31 16:22
字数 629
阅读 118
收藏 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的集成,并且对各种技术通过“一...

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

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

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

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

一刀
03/05
0
1
springboot集成mybatis

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

樱木花道VS康
09/06
112
1
SpringBoot 学习二:操作数据库

本文将从以下几个方面介绍: 前言 配置数据源 SpringBoot 整合 Mybatis SpringBoot 整合 JdbcTemplate SpringBoot 整合 Redis 前言 在上篇文章 SpringBoot 学习一 中已经学习了 SpringBoot的...

tsmyk0715
09/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

hive load insert

本文主要是翻译Hive官网关于Load的解释,原文来源于:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Loadingfilesintotables 介绍 Hive Load语句......

hblt-j
5分钟前
0
1
spring cloud中微服务之间的调用以及eureka的自我保护机制

我自己搭建了一个客户端微服务: 所以现在有两个微服务,我们所实现的就是微服务1和微服务2之间的调用 注册中心就不用多说了,具体看一下两个微服务 在project-solr中的constroller中: @Res...

架构师springboot
8分钟前
0
0
从源码角度理解Java设计模式——装饰者模式

一、饰器者模式介绍 装饰者模式定义:在不改变原有对象的基础上附加功能,相比生成子类更灵活。 适用场景:动态的给一个对象添加或者撤销功能。 优点:可以不改变原有对象的情况下动态扩展功...

我叫刘半仙
13分钟前
0
0
Java中前台接收后台List数据并循环打印

在Java后端获取到了数据,然后我们需要传到前端页面展现出来。 方法有两种: 方法一: 后端: request.setAttribute("list",list); 前端: <%ArrayList list = (ArrayList) request.get...

小_橙_子
22分钟前
1
0
Java:字节流和字符流(输入流和输出流)

什么是流 如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:854630135,群里有阿里大牛直播讲解技术,以及Java大型互...

编程SHA
22分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部