需求缘起:
在一节视频中,有这么一段留言:“会不会推出SpringBoot整合Mybaits配置文件sqlMapConfig.xml搭配mapper.xml的视频呢??? 看到有这个整合直接付款来看,结果是急速开发模式,sql都写在类中了,想看配置方式的 大神出一个吧。”粉丝需求,那才是真的需求。好吧,废话太多,不好,不好,还是赶紧进入正题。
本节大纲:
(2)配置思路
(3)新建project以及添加依赖包
(4)创建启动类App.java
(5)编写实体类Demo
(6)编写application配置文件,指定xml路径
(7)编写映射接口DemoMapper和XML
(8)编写service类DemoService
(9)编写控制类DemoController
(10)测试
接下来看看本节的内容:
(1)MyBatis介绍
来源:MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
介绍:MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java对象)映射成数据库中的记录。
(2)配置思路
在Spring Boot中使用xml集成MyBatis的话,那么核心的文件就是实体类和SQL的映射类,比如DemoMapper,在此类当中就是普通的接口即可,那么对应SQL配置文件在Demo.xml中,那么要怎么能够识别到DemoMapper类呢,使用@MapperScan();在Demo.xml中使用<mapper> 的 namespace属性进行指定指定xml文件和mapper的对应关系,那么现在的问题就是如何识别到Demo.xml配置文件呢,这个就很简单了,在application.properties文件中配置mapper的位置即可,形如:mybatis.mapper-locations=classpath:mybatis/mapper/*.xml。
根据以上的思路,那我们编码大概的思路就是:
(b)编写配置文件Demo.xml,主要是SQL;
(c)编写DemoMapper和Demo是对应的,在Service层就可以调用DemoMapper;
(d)在application.properties文件中配置Demo.xml文件的路径;
(3)新建project以及添加依赖包
新建project,取名为spring-boot-mybatis-xml,在pom.xml文件添加相关依赖包:
<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-xml</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>spring-boot-mybatis-xml</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <!-- spring boot parent节点,引入这个之后,在下面和spring boot相关的就不需要引入版本了; --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.1.RELEASE</version> </parent> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <!-- web支持: 1、web mvc; 2、restful; 3、jackjson支持; 4、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.3.0</version> </dependency> </dependencies> </project>
(4)创建启动类App.java
编写启动类,注意,添加了@MapperScan("com.kfit.*.mapper"),扫描mapper接口:
package com.kfit; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * * @author Angel --守护天使 * @version v.0.1 * @date 2017年8月4日 */ @SpringBootApplication @MapperScan("com.kfit.*.mapper") public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }
(5)编写实体类Demo
编写Demo类,主要属性id,name:
package com.kfit.demo.bean; public class Demo { private int id; private String name; public int getId() { return id; } public void setId(intid) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
(6)编写application配置文件,指定xml路径
########################################################
###datasource -- mysql的数据库配置.
########################################################
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
########################################################
###mybatis配置.
########################################################
mybatis.mapper-locations=classpath:com/kfit/*/mapper/*.xml
在这里重要的配置是:mybatis.mapper-locations=classpath:com/kfit/*/mapper/*.xml
(7)编写映射接口DemoMapper和xml文件
编写XML文件,Demo.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.kfit.demo.mapper.DemoMapper"> <!-- insert 语句. --> <insert id="save" parameterType="com.kfit.demo.bean.Demo" useGeneratedKeys="true" keyProperty="id"> insert into demo (name) values (#{name}) </insert> </mapper>
编写DemoMapper接口:
package com.kfit.demo.mapper; public interface DemoMapper { public void save(Demo demo); }
(8)编写service类DemoService
package com.kfit.demo.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.kfit.demo.bean.Demo; import com.kfit.demo.mapper.DemoMapper; @Service public class DemoService { @Autowired private DemoMapper demoMapper; @Transactional public void save(Demo demo){ demoMapper.save(demo); } }
(9)编写控制类DemoController
package com.kfit.demo.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.kfit.demo.bean.Demo; import com.kfit.demo.service.DemoService; @RestController public class DemoController { @Autowired private DemoService demoService; // http://127.0.0.1:8080/save @RequestMapping("/save") public Demo save(){ Demo demo = new Demo(); demo.setName("张三"); demoService.save(demo); return demo; } }
(10)测试
启动,访问地址:http://127.0.0.1:8080/save
在浏览器可以看到:
{
id: 0,
name: "张三"
}
à悟空学院: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
相关推荐
mybatisplus,MyBatis-Plus 是一个 MyBatis 的...如果使用Spring Boot3,请在pom.xml中添加依赖: <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-spring-boot3-starter <version>3.5.9 </dependency>
(1) 添加依赖:在项目的pom.xml或build.gradle文件中,引入Spring Boot Starter MyBatis的依赖。对于1.0.2版本,对应的Maven依赖如下: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-...
通过这个起步依赖,我们可以快速地搭建起Spring Boot与MyBatis的整合环境,无需手动配置大量的XML或Java代码。 1. **集成过程** 集成MyBatis到Spring Boot项目的第一步是添加对应的依赖。在`pom.xml`文件中,我们...
《Spring Boot集成MyBatis详解:基于Spring Boot 2.2.1版本》 在现代Java开发中,Spring Boot框架以其简洁、高效的特性受到了广大开发者喜爱。而MyBatis作为一款优秀的持久层框架,简化了数据库操作,使得SQL与Java...
- **添加依赖**:在`pom.xml`或`build.gradle`中引入`spring-boot-starter-data-jpa`和`mybatis-spring-boot-starter`依赖。例如,在`pom.xml`中: ```xml <groupId>org.springframework.boot <artifactId>...
《Spring Boot集成MyBatis详解:以2.3.0版本为例》 Spring Boot作为一款快速开发框架,极大地简化了Java应用的初始化和配置过程。而MyBatis作为一款优秀的持久层框架,以其灵活的SQL操作和良好的注解支持,深受...
Spring Boot默认会寻找类路径下的`mybatis-config.xml`文件。 ```xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" ...
在Spring Boot项目中,我们首先需要在`pom.xml`文件中引入`spring-boot-starter-mybatis`依赖。如下所示: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-starter-data-jpa <groupId>...
`spring-boot-starter-mybatis`是Spring Boot为MyBatis提供的一个starter,它包含了MyBatis、MyBatis-Spring、以及相关的依赖,使得开发者可以方便地在Spring Boot项目中使用MyBatis。在`pom.xml`或`build.gradle`...
1. **添加依赖**:在`pom.xml`或`build.gradle`中引入`spring-boot-starter-mybatis`。对于Maven用户,需要在`dependencies`节点下添加: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-...
《Spring Boot集成MyBatis详解:基于spring-boot-starter-mybatis-2.1.3》 在Java开发领域,Spring Boot以其便捷的初始化、自动配置和开箱即用的特性深受开发者喜爱。而MyBatis作为一款轻量级的持久层框架,提供了...
通过这个"spring-boot-starter-mybatis-spring-boot-2.1.0"压缩包,开发者可以直接获取到对应版本的依赖,方便进行项目的初始化和升级,节省了查找和验证不同版本兼容性的时间。而免费下载的特性则进一步降低了开发...
在集成MyBatis到Spring Boot 3.0.1项目中,首先需要在`pom.xml`或`build.gradle`文件中添加依赖。对于Maven用户,可以添加以下依赖: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-...
通过这个starter,我们可以快速搭建起Spring Boot和MyBatis的整合环境,避免手动配置大量的XML配置文件。 1. **依赖引入**: 在`pom.xml`文件中,我们需要添加`spring-boot-starter-data-jpa`和`spring-boot-...
《Spring Boot集成MyBatis详解:以spring-boot-starter-mybatis-2.3.1为例》 在现代Java开发中,Spring Boot以其简洁、高效的特点成为首选框架,而MyBatis作为轻量级的持久层框架,也因其灵活的数据访问能力受到...
- 添加依赖:在`pom.xml`或`build.gradle`文件中引入`spring-boot-starter-data-jpa`和`mybatis-spring-boot-starter`依赖。 - 配置数据源:Spring Boot会自动发现并配置数据源,只需要在`application.properties`...
Spring Boot Starter MyBatis是Spring Boot为MyBatis提供的起步依赖,它包含了MyBatis、MyBatis-Spring等核心组件,使得开发者可以快速地在Spring Boot项目中集成MyBatis,避免了繁琐的配置工作。 2. **集成步骤**...
1. 添加依赖:在`pom.xml`或`build.gradle`文件中引入`spring-boot-starter-mybatis`依赖,如下所示(以Maven为例): ```xml <groupId>org.springframework.boot <artifactId>spring-boot-starter-data-jpa ...
- 添加依赖:在项目中的`pom.xml`或`build.gradle`文件中,引入`spring-boot-starter-mybatis`的依赖。 - 配置数据源:Spring Boot提供了多种数据源选择,如HikariCP等,通过配置文件(`application.properties`或`...
《Spring Boot集成MyBatis详解:基于spring-boot-starter-mybatis-2.1.2》 在现代Java开发中,Spring Boot以其简化配置、快速启动的特性,深受开发者喜爱。而MyBatis作为轻量级的持久层框架,以其灵活的SQL映射,...