spring boot 学习(五)SpringBoot+MyBatis(XML)+Druid
来源:互联网 发布:监控app软件排行 编辑:程序博客网 时间:2024/06/05 11:03
SpringBoot+MyBatis(xml)+Druid
前言
springboot集成了springJDBC与JPA,但是没有集成mybatis,所以想要使用mybatis就要自己去集成。
主要是在Spring Boot中集成MyBatis,可以选用基于注解的方式,也可以选择xml文件配置的方式。官方推荐使用xml文件配置。
springboot+mybatis+druid
1. 引入依赖
<!-- Mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> <!-- 请不要使用1.0.0版本,因为还不支持拦截器插件 --> </dependency> <!-- druid阿里巴巴数据库连接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.20</version> </dependency> <!-- MySql数据库驱动 --> <dependency> <groupId> mysql</groupId> <artifactId> mysql-connector-java</artifactId> <version> 5.0.5</version> </dependency>
2. 在Mysql中创建Users表
Users表中包含id(BIGINT)、name(INT)、age(VARCHAR)字段。
3. 创建接口Mapper(不是类)和对应的XML文件
User实体类:
public class User { private long id; private String name; private Integer age; // 省略相应的 getter 与 setter 方法}
UserDao接口:实现插入和查询操作
注意必须加上@Mapper
的注解,不然@Autowired
将注入失败。
@Mapperpublic interface UserDao{ int insertUser(@Param("user") User user); User findByName(String name);}
@Mapper
注解标记这个接口作为一个映射接口。真正实现映射的方法(XML文件)需要源对象作为参数,并返回目标对象。
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="qg.fangrui.boot.dao.UserDao"> <!--目的:为Dao接口方法提供SQL语句--> <!--映射实体对象--> <resultMap id="UserResultMap" type="qg.fangrui.boot.model.User"> <id property="id" column="id" /> <result property="name" column="name" /> <result property="age" column="age" /> </resultMap> <insert id="insertUser" > INSERT INTO users(name, age) VALUES (#{user.name}, #{user.age}) </insert> <select id="findByName" resultType="User"> SELECT * FROM users WHERE name = #{name} </select></mapper>
4. 配置文件
application.properties:
# 驱动配置信息spring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.url = jdbc:mysql://127.0.0.1:3306/myboot?useUnicode=true&characterEncoding=utf-8spring.datasource.username = rootspring.datasource.password = 123456spring.datasource.driverClassName = com.mysql.jdbc.Driver#连接池的配置信息spring.datasource.initialSize=5spring.datasource.minIdle=5spring.datasource.maxActive=20spring.datasource.maxWait=60000spring.datasource.timeBetweenEvictionRunsMillis=60000spring.datasource.minEvictableIdleTimeMillis=300000spring.datasource.validationQuery=SELECT 1 FROM DUALspring.datasource.testWhileIdle=truespring.datasource.testOnBorrow=falsespring.datasource.testOnReturn=falsespring.datasource.poolPreparedStatements=truespring.datasource.maxPoolPreparedStatementPerConnectionSize=20spring.datasource.filters=stat,wall,log4jspring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000# MyBatis 配置mybatis.mapper-locations=classpath:mapper/*.xmlmybatis.type-aliases-package=qg.fangrui.boot.model
5. 调用测试:
一般情况下,我是用Controller层调用Service层,Service层调用Dao层。测试案例比较简单,我就不列了,只是简单展示一下相应的Controller。
@RestController@RequestMapping("/test")public class TestController { @Autowired private UserService userService; @RequestMapping("/add") public String add(User user){ return String.valueOf(userService.add(user)); }}
效果图:
Postman测试图:
Druid监控图:
附录
补充
mybatis-spring-boot-starter
的依赖树:
Mybatis 在 SpringBoot 中的配置:
* mybatis.mapper-locations:xml文件扫描位置
* mybatis.type-aliases-package:Model包扫描位置
* mybatis.config:mybatis-config.xml配置文件的路径
* mybatis.typeHandlersPackage:扫描typeHandlers的包
* mybatis.checkConfigLocation:检查配置文件是否存在
* mybatis.executorType:设置执行模式(SIMPLE, REUSE, BATCH
),默认为SIMPLE
项目参考
集合了我的 SpringBoot 学习的案例:
包括了我前面学习的案例!
SpringBoot+MyBatis+Druid
参考资料
- (官方文档,推荐)http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/
- (超级大神)http://blog.csdn.net/isea533/article/details/50359390?locationNum=3&fps=1
- (注解类MyBatis)http://blog.didispace.com/springbootmybatis/
- spring boot 学习(五)SpringBoot+MyBatis(XML)+Druid
- Spring boot 整合 mybatis + druid
- Spring Boot集成MyBatis、druid
- Spring-Boot学习笔记-整合Mybatis-Druid-PageHelper
- Springboot开发(spring+mybatis+druid)
- SpringBoot:spring boot集成mybatis
- spring boot 1.4 整合 mybatis druid
- Spring Boot (二)集成Mybatis、Druid
- spring boot 整合 druid + Mysql + Mybatis
- spring-boot集成mybatis使用Druid监控
- Spring Boot整合MyBatis和Druid
- Spring Boot 集成Mybatis Mysql Druid
- Spring boot Druid监控、Mybatis、pageHelper集成
- SpringBoot学习笔记(4) Spring Boot 集成 Mybatis
- SpringBoot学习笔记(4) Spring Boot 集成 Mybatis
- Druid简介(Spring Boot + Mybatis + Druid数据源【自己定制】)
- Druid简介(Spring Boot + Mybatis + Druid数据源【官方start】)
- SpringBoot -- 集成Mybatis/Druid
- 存储过程与触发器的区别
- codeforces 760E or 759C 【线段树维护后缀和】
- 三 . css语法、样式表
- PAT甲级1032
- 重载与重写
- spring boot 学习(五)SpringBoot+MyBatis(XML)+Druid
- 指针数组&数组指针
- 你的管理,为什么没带出优秀的团队?
- 最近使用频率较高的linux命令
- (六)play之yabe项目【验证码】
- new操作符(翻译自mozilla.org)
- SparkRDD的一些使用经验
- C标准库学习之<assert.h> ——诊断
- Leetcode004-Median of Two Sorted Arrays