SpringBoot_11_整合MyBatis
SpringBoot_11_整合MyBatis
- 整合MyBatis
- 整合测试
整合MyBatis
官方文档:http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/
Maven仓库地址:https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter/2.1.3
整合测试
导入 MyBatis 所需要的依赖
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version> </dependency>
配置数据库连接信息
这我们使用
druid-spring-boot-starter
<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.11</version> </dependency>
spring:datasource:username: rootpassword: '0000'#?serverTimezone=UTC解决时区的报错url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8driver-class-name: com.mysql.cj.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSourcedruid:# 数据库连接池最大值max-active: 20# 数据库连接池初始值initial-size: 5# 数据库连接池最小空闲值min-idle: 5# 池中空闲连接大于minIdle且连接空闲时间大于该值,则关闭该连接,单位毫秒(5分钟,默认30分钟)min-evictable-idle-time-millis: 300000# 获取连接时最大等待时间,单位毫秒(1分钟)max-wait: 60000# 检测连接是否有效时执行的sql命令validation-query: select 1# 借用连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能test-on-borrow: false# 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能test-on-return: false# 连接空闲时检测,如果连接空闲时间大于timeBetweenEvictionRunsMillis指定的毫秒,执行validationQuery指定的SQL来检测连接是否有效test-while-idle: true# 空闲连接检查、废弃连接清理、空闲连接池大小调整的操作时间间隔,单位是毫秒(1分钟)time-between-eviction-runs-millis: 60000# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙filters: stat,wall# 通过connectProperties属性来打开mergeSql功能;慢SQL记录connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500#是否启用StatFilter默认值false,用于采集 web-jdbc 关联监控的数据。web-stat-filter:enabled: true#需要监控的 urlurl-pattern: /*#排除一些静态资源,以提高效率exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'#是否启用StatViewServlet(监控页面)默认值为false(考虑到安全问题默认并未启动,如需启用建议设置密码或白名单以保障安全)stat-view-servlet:enabled: true#内置的监控页面地址,例如 /druid/*,则内置监控页面的首页是 /druid/index.htmlurl-pattern: /druid/*#是否允许清空统计数据reset-enable: falselogin-username: adminlogin-password: admin
测试数据库是否连接成功!
创建实体类,导入 Lombok!
User.java
package com.lee.pojo;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;@Data @AllArgsConstructor @NoArgsConstructor public class User {private int id;private String name;private String pwd; }
创建mapper目录以及对应的 Mapper 接口
UserMapper.java
package com.lee.mapper;import com.lee.pojo.User; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository;import java.util.List;// 这个注解表示了这是一个 mybatis 的 mapper 类 @Mapper @Repository public interface UserMapper {List<User> queryUserList();User queryUserById(int id);int addUser(User user);int updateUser(User user);int deleteUser(int id); }
对应的Mapper映射文件
UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!--namespace=绑定一个对应的Dao/Mapper接口--> <mapper namespace="ncom.lee.mapper.UserMapper"><select id="queryUserList" resultType="User">select * from mybatis.user;</select><select id="queryUserById" resultType="User">select * from mybatis.user where id = #{id};</select><insert id="addUser" parameterType="User">insert into mybatis.user (id, name, pwd) values (#{id},#{name},#{pwd});</insert><update id="updateUser" parameterType="User">update mybatis.user set name=#{name},pwd = #{pwd} where id = #{id};</update><delete id="deleteUser" parameterType="int">delete from mybatis.user where id = #{id}</delete> </mapper>
maven配置资源过滤问题
<resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes><filtering>true</filtering></resource> </resources>
编写部门的 UserController 进行测试!
@RestController public class UserController {@Autowiredprivate UserMapper userMapper;@GetMapping("/queryUserList")public List<User> queryUserList() {List<User> userList = userMapper.queryUserList();for (User user : userList) {System.out.println(user);}return userList;}//添加一个用户@GetMapping("/addUser")public String addUser() {userMapper.addUser(new User(8,"阿毛","123456"));return "ok";}//修改一个用户@GetMapping("/updateUser")public String updateUser() {userMapper.updateUser(new User(8,"阿毛","123456"));return "ok";}@GetMapping("/deleteUser")public String deleteUser() {userMapper.deleteUser(8);return "ok";} }
启动项目访问进行测试!
SpringBoot_11_整合MyBatis相关推荐
- SpringBoot整合MyBatis详细教程~
目录 1. 导入依赖 2. 连接数据库 3. 编写数据库配置信息 4. 编写pojo实体类 5. 编写mapper接口 6. 编写mapper.xml 7. 编写controller 8. 测试 1. ...
- MyBatis - 6.Spring整合MyBatis
1.查看不同MyBatis版本整合Spring时使用的适配包: http://www.mybatis.org/spring/ 2.下载整合适配包 https://github.com/mybatis/ ...
- mybatis 一对多_Springboot整合Mybatis实现级联一对多CRUD操作
在关系型数据库中,随处可见表之间的连接,对级联的表进行增删改查也是程序员必备的基础技能.关于Spring Boot整合Mybatis在之前已经详细写过,不熟悉的可以回顾Spring Boot整合Myb ...
- Spring Boot 教程(三): Spring Boot 整合Mybatis
教程简介 本项目内容为Spring Boot教程样例.目的是通过学习本系列教程,读者可以从0到1掌握spring boot的知识,并且可以运用到项目中.如您觉得该项目对您有用,欢迎点击收藏和点赞按钮, ...
- SpringBoot第六篇:springboot整合mybatis
本文主要讲解如何在springboot下整合mybatis,并访问数据库.由于mybatis这个框架太过于流行,所以我就不讲解了. 引入依赖 在pom文件引入mybatis-spring-boot-s ...
- Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例
摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢! 『 公司需要人.产品.业务和方向,方向又要人.产品.业务和方向,方向- 循环』 本文提纲 一 ...
- spring整合mybatis(入门级简单教程1)--在spring中配置c3p0,并成功测试
引子:spring整合mybatis.因为,我们看完(我就是这样的)spring和mybatis之后,本想自己写一个小小的项目,以便加深理解,但是我发现在spring中整合mybatis并不是一件容易 ...
- Play Framework 2.5 整合 MyBatis
为什么80%的码农都做不了架构师?>>> 因为不想用 Play 官方支持的一些 ORM 框架,笔者开始在网上查询 Play 怎么整合 MyBatis ,但搜出来的结果往往都是 ...
- spring boot 整合mybatis 无法输出sql的问题
使用spring boot整合mybatis,测试功能的时候,遇到到了sql问题,想要从日志上看哪里错了,但是怎么都无法输出执行的sql,我使用的是log4j2,百度了一下,很多博客都说,加上下面的日 ...
最新文章
- boost::mp11::mp_transform_third相关用法的测试程序
- 【高并发】掌握JUC中的阻塞队列
- 案例学习BlazeDS+Spring之一(
- python如何提高程序可读性_Python规范:提高可读性
- js 求数组中最小值
- kali-linux学习笔记及经验总结(持更)
- 绵阳市:充分利用区块链等技术 为农民工证照办理提供线上便捷服务
- 三星android智能手机usb驱动程序,三星手机驱动官方下载
- c++回调函数详解及实现(lambda)
- 【OpenCV 例程200篇】37. 图像的灰度化处理和二值化处理(cv2.threshold)
- 项目技术管理经验总结
- 爱荷华州立 计算机博士,美国爱荷华州立大学无损检测中心裴宁博士来我院讲学...
- 国税服务器反回文件错误,电子税务局常见问题解答电子税务局异常转办(一).pdf...
- 【GO语言编程】(二)
- 在多台终端设备的i茅台应用中,实现同时自动化预约X酒的解决方案
- identifier “ “ is undefined 错误
- 2016教师节微信祝福语大全
- 我的U盘也不见了 (搞笑版,笑死我了)
- 贤弟单腾,因崔思婷,机器人类打字~~~~~~
- 男生如何正确的识别绿茶婊
热门文章
- MySQL_DDL数据定义语言_刘锋的博客
- 国产化FLASH芯片调试(HI3531DV200平台)
- 【 C++ 】哈希表底层结构剖析
- preg_match函数的用法和匹配字符的的含义
- 毕业设计之 - 基于java的CRM客户关系管理系统的设计与实现【源码+论文】
- mysql5.7免安版配置_Window Mysql5.7免安装版配置
- Win7 可关闭的服务启动项
- 群晖系统Synology DSM安装ipkg包管理
- 微信小程序登陆后的页面显示tabbar
- 简单粗暴的分布式定时任务解决方案