一、Spring Boot整合Mybatis环境搭建
1. 创建maven工程spring-boot-mybatis,并在pom.xml文件中如下配置:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.3.RELEASE</version> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 热加载 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.0</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> </dependencies>
2. 在resources目录下创建application.properties,并添加如下配置:
spring.datasource.url=jdbc:mysql://localhost:3306/coredb
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
mybatis.mapper-locations= classpath:config/*.xml
3. 在resources目录下创建config目录,并创建UserMapper.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.tuozixuan.springbootmybatis.dao.UserDao"> <!-- 更新名称 --> <update id="updateName" parameterType="map"> update user set name = #{name, jdbcType=VARCHAR} where id= #{id, jdbcType=INTEGER} </update> </mapper>
4. 编写业务及数据库操作示例代码
4.1 UserController代码
package com.tuozixuan.springbootmybatis.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.tuozixuan.springbootmybatis.service.UserService; @RestController public class UserController { @Autowired private UserService userService; @RequestMapping("/updateName") public String updateName() { userService.updateName(); return "updateName"; } }
4.2 UserService代码
package com.tuozixuan.springbootmybatis.service; public interface UserService { void updateName(); }
4.3 UserServiceImpl代码
package com.tuozixuan.springbootmybatis.service.impl; import java.util.HashMap; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import com.tuozixuan.springbootmybatis.dao.UserDao; import com.tuozixuan.springbootmybatis.service.UserService; @Service public class UserServiceImpl implements UserService { @Autowired private UserDao userDao; @Transactional(propagation = Propagation.REQUIRED) public void updateName() { Map<String, Object> paramMap = new HashMap<String, Object>(); paramMap.put("id", 1); paramMap.put("name", "tuozixuan4"); userDao.updateName(paramMap); paramMap = new HashMap<String, Object>(); paramMap.put("id", 1); paramMap.put("name", "tuozixuan5"); userDao.updateName(paramMap); } }
4.4 UserDao代码
package com.tuozixuan.springbootmybatis.dao; import java.util.Map; import org.apache.ibatis.annotations.Mapper; @Mapper public interface UserDao { int updateName(Map<String, Object> paramMap); }
5. 加入启动器代码,并运行
package com.tuozixuan.springbootmybatis; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args ) { SpringApplication.run(Application.class, args); } }
6. 导入测试数据
DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; INSERT INTO `user` VALUES ('1', 'tuozixuan');
6. 访问http://localhost:8080/updateName查看运行结果,默认支持事务,可使用@Transactional来声明一个事务
二、总结
1. 需要引入Spring Boot和Mybatis相关依赖,如spring-boot-starter、mybatis-spring-boot-starter等
2. 需要在Spring Boot默认配置文件application.properties中加入数据源配置及mybatis扫描路径
相关推荐
附件是spring boot整合mybatis和hikariCP的示例,本demo的spring boot是2.0以下版本,spring boot 2.0以上版本默认的数据库连接池就是hikariCP。
Spring Boot整合MyBatis 示例代码
持久层开源工具MyBatis-Plus快速入门,Spring Boot整合MyBatis-Plus简化开发示例代码
主要介绍了spring boot整合mybatis+mybatis-plus的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
具体包括添加H2数据库依赖、配置Spring Boot的数据源连接信息、对Mybatis进行基本设置,以及如何初始化和操作数据库。 适用人群:该教程适合已具备基础Java和Spring Boot开发经验的开发者,尤其是需要快速构建轻量...
spring-boot-helloWorld:spring-boot的hello...spring-boot-fastDFS:Spring Boot 整合FastDFS示例 spring-boot-actuator:Spring Boot Actuator 使用示例 spring-boot-admin-simple:Spring Boot Admin 的使用示例
该示例项目演示了如何利用Spring Boot快速搭建后端应用程序,使用MyBatis进行数据库访问与映射,以及Layui构建美观、交互友好的前端界面。通过该项目,您将学习到如何处理常见的增删改查操作,并了解技术之间的整合...
springboot整合mybatis示例 , 传统的spring 整合mybatis大家都知道光配置文件就很复杂, 繁琐, 有一个地方编写有问题, 整个项目就会跑不起来, 总而言之就是各自配置过于繁琐, 但是sprintboot就不一样了, 直接集成了...
博客示例代码,Spring boot 自学笔记(二) 集成mybatis 代码
主要介绍了Spring boot+mybatis+thymeleaf 实现登录注册增删改查功能的示例代码,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
包括多环境开发布置,端口号配置,全局jackson配置,mysql数据库配置,oracle数据库配置,连接池配置,redis配置,redis链接池的配置,设置上传文件大小限制配置,全局格式化时间配置,https证书配置示例
主要给大家介绍了关于如何通过Spring Boot整合Mybatis分析自动配置的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
主要给大家介绍了关于spring boot整合mybatis利用Mysql实现主键UUID的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
主要介绍了Spring boot整合mybatis实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
SpringBoot整合Mybatis示例源码,
主要介绍了Spring boot整合Mybatis-plus过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要给大家介绍了关于Spring boot整合Mybatis实现级联一对多CRUD操作的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
主要给大家介绍了关于spring boot mybatis枚举映射的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs (Plain Old Java Objects, 普通的 Java 对象)映射成数据库中的记录。 以下是 MyBatis 的主要特点: 简单易学:MyBatis 框架结构...