springboot集成mybatis源码分析(一)
springboot集成mybatis源码分析(一)
本篇文章只是简单接受使用,具体源码解析请看后续文章
1、新建springboot项目,并导入mybatis的pom配置
配置数据库驱动和mybatis dependency
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version></dependency>
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope></dependency>
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional></dependency>
application.yml配置 spring : datasource : driverClassName : com.mysql.jdbc.Driver url : jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false username : root password : 123456
2、基础类(使用lombok自动生成get/set方法)
package com.example.demo.domain;import lombok.Data;@Data public class User {private Integer id;private String username;private Integer age; }
3、测试dao(mybatis使用注解开发)
package com.example.demo.dao;import com.example.demo.domain.User; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select;@Mapper public interface UserDao {@Select("SELECT * FROM USER")List<User> getUser(); }
4、测试service
package com.example.demo.service;import com.example.demo.dao.UserDao; import com.example.demo.domain.User; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;import java.util.List;@Service @Slf4j public class UserService {@Autowiredprivate UserDao userDao;public List<User> getUser(){List<User> userList = userDao.getUser();log.info("查询出来的用户信息,{}",userList.toString());return userList;} }
5、service对应的test类(该测试类继承主测试类(主测试类直接在启动文件上goto test即可自动生成))
package com.example.demo.service;import com.example.demo.DemoApplicationTests; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest;import static org.junit.Assert.*;public class UserServiceTest extends DemoApplicationTests {@Autowiredprivate UserService userService;@Testpublic void getUser() {userService.getUser();}}
package com.example.demo;import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner;@RunWith(SpringRunner.class) @SpringBootTest public class DemoApplicationTests {@Testpublic void contextLoads() {}}
6、运行测试类输出结果
查询出来的用户信息,[User(id=1, username=test, age=11)]
springboot集成mybatis源码分析(一)相关推荐
- springboot集成mybatis源码分析-mybatis的mapper执行查询时的流程(三)
springboot集成mybatis源码分析-mybatis的mapper执行查询时的流程(三) 例: package com.example.demo.service;import com.exa ...
- springboot集成mybatis源码分析-启动加载mybatis过程(二)
springboot集成mybatis源码分析-启动加载mybatis过程(二) 1.springboot项目最核心的就是自动加载配置,该功能则依赖的是一个注解@SpringBootApplicati ...
- Springboot自动装配源码分析
Springboot自动装配源码分析 1.从@SpringbootApplication点进去 2.可以看到核心的三个注解 @SpringbootConfiguration @EnableAutoCo ...
- Mybatis源码分析: MapperMethod功能讲解
canmengqian </div><!--end: blogTitle 博客的标题和副标题 --> <div id="navigator"> ...
- mybatis源码分析之事务管理器
2019独角兽企业重金招聘Python工程师标准>>> 上一篇:mybatis源码分析之Configuration 主要分析了构建SqlSessionFactory的过程中配置文件的 ...
- MyBatis 源码分析系列文章合集
1.简介 我从七月份开始阅读MyBatis源码,并在随后的40天内陆续更新了7篇文章.起初,我只是打算通过博客的形式进行分享.但在写作的过程中,发现要分析的代码太多,以至于文章篇幅特别大.在这7篇文章 ...
- MyBatis 源码分析 - 插件机制
1.简介 一般情况下,开源框架都会提供插件或其他形式的拓展点,供开发者自行拓展.这样的好处是显而易见的,一是增加了框架的灵活性.二是开发者可以结合实际需求,对框架进行拓展,使其能够更好的工作.以 My ...
- MyBatis 源码分析 - 缓存原理
1.简介 在 Web 应用中,缓存是必不可少的组件.通常我们都会用 Redis 或 memcached 等缓存中间件,拦截大量奔向数据库的请求,减轻数据库压力.作为一个重要的组件,MyBatis 自然 ...
- MyBatis 源码分析 - 内置数据源
1.简介 本篇文章将向大家介绍 MyBatis 内置数据源的实现逻辑.搞懂这些数据源的实现,可使大家对数据源有更深入的认识.同时在配置这些数据源时,也会更清楚每种属性的意义和用途.因此,如果大家想知其 ...
最新文章
- CSS3弹性盒模型之box-orient box-direction
- Java魂斗罗1234合集_《魂斗罗》正统续作1234部介绍,别再搞错喽!
- 【Paper】2021_Consensus Control of Leader-Following Multi-Agent Systems in Directed Topology
- C++ 重载运算符和重载函数(一)
- OpenCASCADE:OCCT应用框架OCAF之标准文件服务
- java-网络编程篇
- ASP.NET入门教程:服务器控件
- 库克:5G iPhone目前还不是我们考虑的问题
- 12306外包给阿里巴巴、IBM等大企业做是否可行?
- 如何使用Java代码获取Android移动终端Mac地址
- ESAPI(一)索引的操作以及数据插入
- 线下门店如何实现增长获客?
- LSD-slam算法原理
- 心电电路算法滤波_心电信号噪声的数字滤波研究
- [笔记] PPT幻灯片也RIA——PPT实现倒计时功能
- html页面布局实验原理,html网页制作实验报告.doc
- Day215.课程详细页面功能完善、Echarts统计分析模块[生成统计数据+生成图表]前后端整合 -谷粒学院
- 导航信号测试用什么软件,专业GPS测试软件 VisualGPSXP入门
- 微信小程序的项目缓存路径
- getchar()函数的作用
热门文章
- 网站运维技术与实践之服务器监测常用命令
- android 定位信息存哪,安卓手机便签系统存储位置在哪
- java注册登录客户端_GitHub - a-voyager/LoginSystem_Client: 登录注册系统(桌面客户端)——Java课程实践...
- oracle怎么导出筛选后的数据,ORACLE,筛选单字段不重复的记录,保留其他字段....
- 【springboot】禁用特定AutoConfiguration/自动配置类
- 前端框架-后台模板:Xadmin
- 【springboot】静态资源设置缓存时间
- xp系统怎么看不见其他网络计算机,xp系统工作组计算机不见了找不到的解决方法...
- java加按钮_如何从零开始对接第三方登录(Java版):QQ登录和微博登录
- 商品规格js_品优购电商系统开发 第3章 规格及模板管理