à悟空学院:https://t.cn/Rg3fKJD
学院中有Spring Boot相关的课程!点击「阅读原文」进行查看!
SpringBoot视频:http://t.cn/A6ZagYTi
Spring Cloud视频:http://t.cn/A6ZagxSR
SpringBoot Shiro视频:http://t.cn/A6Zag7IV
SpringBoot交流平台:https://t.cn/R3QDhU0
SpringData和JPA视频:http://t.cn/A6Zad1OH
SpringSecurity5.0视频:http://t.cn/A6ZadMBe
Sharding-JDBC分库分表实战:http://t.cn/A6ZarrqS
分布式事务解决方案「手写代码」:http://t.cn/A6ZaBnIr
大家在开发的时候,会喜欢jdbcTemplate操作数据库,有喜欢JPA操作数据库的,有喜欢MyBatis操作数据库的,对于这些我个人觉得哪个使用顺手就使用哪个就好了,并没有一定要使用哪个,个人在实际中会集成多个,这样保存的数据的时候,选择一个最方便的也就是JPA,查询的时候,或者统计的时候,选择一个效率最高的,也就是直接使用SQL语句方式,当然这并一定要这样的,现在优化方式又很多。那么这节说说怎么在Spring Boot中使用MyBatis吧。主要分几个步骤进行讲解:
(2)在pom.xml文件中引入相关依赖;
(3)创建启动类App.java
(4)在application.properties添加配置文件;
(5)编写Demo测试类;
(6)编写DemoMapper;
(7)编写DemoService
(8)编写DemoController;
(9)加入PageHelper
接下里我们一起来进行实现吧。
(1)新建maven project;
新建一个maven project,取名为:spring-boot-mybatis
(2)在pom.xml文件中引入相关依赖;
在pom.xml中加入依赖:mysql驱动,mybatis依赖包,mysql分页PageHelper:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.kfit</groupId>
<artifactId>spring-boot-mybatis</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>spring-boot-mybatis</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- jdk版本号,angel在这里使用1.8,大家修改为大家本地配置的jdk版本号即可 -->
<java.version>1.8</java.version>
</properties>
<!--
spring boot 父节点依赖,
引入这个之后相关的引入就不需要添加version配置,
spring boot会自动选择最合适的版本进行添加。
-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
</parent>
<dependencies>
<!-- spring boot 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版本,因为还不支持拦截器插件,
1.1.1 是博主写帖子时候的版本,大家使用最新版本即可
-->
<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)创建启动类App.java >com.kfit.App.java
package com.kfit;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* 启动类;
* @author Angel(QQ:412887952)
* @version v.0.1
*/
@SpringBootApplication
@MapperScan("com.kfit.*.mapper")
publicclass App {
publicstaticvoid main(String[] args) {
SpringApplication.run(App.class, args);
}
}
这里和以往不一样的地方就是MapperScan的注解,这个是会扫描该包下的接口。
这里我们使用注解的方式进行使用MyBatis,当然您也可以使用xml文件的方式进行使用。
(4)在application.properties添加配置文件;
Mysql的配置,这个我们已经是轻车熟路了:
########################################################
###datasource
########################################################
spring.datasource.url = jdbc:mysql://localhost:3306/test
spring.datasource.username = root
spring.datasource.password = root
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)编写Demo测试类;
package com.kfit.demo.bean;
/**
* 测试类.
* @author Angel(QQ:412887952)
* @version v.0.1
*/
publicclass Demo {
private long id;
private String name;
public long getId() {
returnid;
}
public void setId(longid) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
(6)编写DemoMapper;
MyBatis使用类,这里主要是@select进行使用.
com.kfit.demo.mapper.DemoMappper:
package com.kfit.demo.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Select;
import com.kfit.demo.bean.Demo;
public interface DemoMappper {
@Select("select *from Demo where name = #{name}")
public List<Demo> likeName(String name);
@Select("select *from Demo where id = #{id}")
public Demo getById(long id);
@Select("select name from Demo where id = #{id}")
public String getNameById(long id);
}
(7)编写DemoService
com.kfit.demo.service.DemoService:
package com.kfit.demo.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.kfit.demo.bean.Demo;
import com.kfit.demo.mapper.DemoMappper;
@Service
public class DemoService {
@Autowired
private DemoMappper demoMappper;
public List<Demo> likeName(String name){
return demoMappper.likeName(name);
}
}
(8)编写DemoController;
com.kfit.demo.controller.DemoController:
package com.kfit.demo.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.github.pagehelper.PageHelper;
import com.kfit.demo.bean.Demo;
import com.kfit.demo.service.DemoService;
@RestController
publicclass DemoController {
@Autowired
private DemoService demoService;
@RequestMapping("/likeName")
public List<Demo> likeName(String name){
return demoService.likeName(name);
}
}
运行访问:http://127.0.0.1:8080/likeName?name=张三 就可以看到全部的数据了。
(9)加入PageHelper
这里与其说集成分页插件,不如说是介绍如何集成一个plugin。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>
新增MyBatisConfiguration.java
com.kfit.config.mybatis.MyBatisConfiguration:
package com.kfit.config.mybatis;
import java.util.Properties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.github.pagehelper.PageHelper;
/**
* 注册MyBatis分页插件PageHelper
* @author Angel(QQ:412887952)
* @version v.0.1
*/
@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("/likeName")
public List<Demo> likeName(String name){
PageHelper.startPage(1,1);
return demoService.likeName(name);
}
这个使用起来特别的简单,只是在原来查询的代码之前加入了一句:
PageHelper.startPage(1,1);
第一个参数是第几页;
第二个参数是每页显示条数。
访问http://127.0.0.1:8080/likeName?name=张三 进行测试。
【Spring Boot 系列博客】
à悟空学院:https://t.cn/Rg3fKJD
学院中有Spring Boot相关的课程!点击「阅读原文」进行查看!
SpringBoot视频:http://t.cn/A6ZagYTi
Spring Cloud视频:http://t.cn/A6ZagxSR
SpringBoot Shiro视频:http://t.cn/A6Zag7IV
SpringBoot交流平台:https://t.cn/R3QDhU0
SpringData和JPA视频:http://t.cn/A6Zad1OH
SpringSecurity5.0视频:http://t.cn/A6ZadMBe
Sharding-JDBC分库分表实战:http://t.cn/A6ZarrqS
分布式事务解决方案「手写代码」:http://t.cn/A6ZaBnIr
网易云课堂视频最新更新:
第十一章 Spring Boot 日志
1、spring boot日志—理论
2、Spring Boot日志-logback
3、Spring Boot日志-log4j2
第十二章 Spring Boot 知识点2
1、spring boot 服务配置和部署
2、Spring Boot 定制URL匹配规则
历史章节:
第一章 快速开始
1、Spring Boot之Hello World
2、Spring Boot之Hello World访问404
第二章 Spring Boot之JSON
1、spring boot返回json数据
2、Spring Boot完美使用FastJson解析JSON数据
第三章 Spring Boot热部署
1、Spring Boot热部署(springloader)
2、springboot + devtools(热部署)
第四章 Spring Boot数据库
1、Spring Boot JPA/Hibernate/Spring Data概念
2、Spring Boot JPA-Hibernate
3、Spring Boot Spring Data JPA介绍
4、Spring Boot JdbcTemplate
5、Spring Boot集成MyBatis
第五章 web开发
1、全局异常捕捉
2、配置server信息
3、spring boot使用thymeleaf
4、Spring Boot 使用freemarker
5、Spring Boot添加JSP支持
第六章 定时任务
1、Spring Boot定时任务
2、Spring Boot 定时任务升级篇(动态修改cron参数)
3、Spring Boot 定时任务升级篇(动态添加修改删除定时任务)
4、Spring Boot 定时任务升级篇(集群/分布式下的定时任务说明)
5、Spring Boot Quartz介绍
6、Spring Boot Quartz在Java Project中使用
7、Spring Boot 集成Quartz普通使用
8、Spring Boot 集成Quartz升级版
9、Spring Boot 集成Quartz二次升级版
10、Spring Boot 集成Quartz-Job如何自动注入Spring容器托管的对象
第七章 Spring Boot MyBatis升级篇
1、Spring Boot MyBatis升级篇-注解
2、Spring Boot MyBatis升级篇-注解-自增ID
3、Spring Boot MyBatis升级篇-注解-增删改查
4、Spring Boot MyBatis升级篇-注解-分页查询
5、Spring Boot MyBatis升级篇-注解-分页PageHelper不生效
6、Spring Boot MyBatis升级篇-注解- mybatic insert异常:BindingException: Parameter 'name' not found
7、Spring Boot MyBatis升级篇-注解- #和$符号特别篇
8、Spring Boot MyBatis升级篇-注解-@Result
9、Spring Boot MyBatis升级篇-注解-动态SQL(if test)-方案一:<script>
10、Spring Boot MyBatis升级篇-注解-动态SQL(if test)-方案二:@Provider
11、Spring Boot MyBatis升级篇-注解-动态SQL-参数问题
12、Spring Boot MyBatis升级篇-注解-特别篇:@MapperScan和@Mapper
13、Spring Boot MyBatis升级篇-XML
14、Spring Boot MyBatis升级篇-XML-自增ID
15、Spring Boot MyBatis升级篇-XML-增删改查
16、Spring Boot MyBatis升级篇-XML-分页查询
17、Spring Boot MyBatis升级篇-XML-分页PageHelper不生效
18、Spring Boot MyBatis升级篇-XML-动态SQL(if test)
19、Spring Boot MyBatis升级篇-XML-注解-初尝试
20、Spring Boot MyBatis升级篇- pagehelper替换为pagehelper-spring-boot-starter
第八章 Spring Boot 知识点1
1、Spring Boot 拦截器HandlerInterceptor
2、Spring Boot启动加载数据CommandLineRunner
3、Spring Boot环境变量读取和属性对象的绑定
4、Spring Boot使用自定义的properties
5、Spring Boot使用自定义的properties
6、Spring Boot使用@SpringBootApplication
7、Spring Boot 监控和管理生产环境
第十章 Spring Boot 打包部署
1、Spring Boot打包部署((提供Linux的sh文件))
第十一章 Spring Boot 日志
1、spring boot日志—理论
2、Spring Boot日志-logback
3、Spring Boot日志-log4j2
更多查看博客: http://412887952-qq-com.iteye.com/
相关推荐
spring boot2+mybatis操作mysql数据库demospring boot2+mybatis操作mysql数据库demospring boot2+mybatis操作mysql数据库demo
springboot2.X+mybatis+redis 简单项目搭建以及使用,可以在实践中了解这三者的关系
spring boot+mybatis 数据库文件(可选) 启动项目自动生成对应实体的数据库表,示例中自动生成SysUser,User实体对应的数据库表sys_user,user 依赖包文件(可选) maven管理依赖包,自动下载 链接:...
Spring Boot学习 Spring Boot Spring MVC MyBatis MySQL Spring
spring-boot整合mybatis-mysql
spring boot 整合 mysql数据库、 mybatis、 druid连接池实例。
1、本项目为读取E盘根目录下名为new_datad.txt的json数组文件存入数据库 2、大环境 windows操作系统 jdk:1.7.0_21 ... springMvc、spring、mybatis、mysql数据库 4、有其他问题q·群交流1 7 2 6 2 9 5 6 4
(Spring Boot + MyBatis + MySQL)整合实现登录功能,内附SQL文件
具体包括添加H2数据库依赖、配置Spring Boot的数据源连接信息、对Mybatis进行基本设置,以及如何初始化和操作数据库。 适用人群:该教程适合已具备基础Java和Spring Boot开发经验的开发者,尤其是需要快速构建轻量...
spring boot mybatis jsp
基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring ...
Maven坐标:org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.3.2; 标签:spring、mybatis、autoconfigure、boot、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开...
Maven坐标:org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.3.2; 标签:spring、mybatis、autoconfigure、boot、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开...
spring+mybatis+mysql实现的用户登录功能
spring mvc mybatis 整合源码,带数据库脚本,带详细注释,适合初、中、高各级开发人员使用
基于springmvc+spring+mybatis有数据库的文件的税控系统,导入myEclipse可直接运行
spring boot mybatis mysql springmvc国际化 拦截器 创建聚合项目
eclipse+maven+springmvc+spring+mybatis案例附带mysql数据库
一个完整的spring boot + mybatis + mysql整合项目,使用的是springboot和maven的框架,对刚刚学习这方面的可以借鉴一下
项目中我们经常会遇到多数据源的问题,尤其是数据同步或定时任务等项目更是如此。多数据源让人最头痛的,不是配置多个数据源,而是如何能灵活动态的切换数据源。 此项目就是为了解决这个问题。