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)]

  

posted @ 2019-03-06 11:09 犇犇丶 阅读(...) 评论(...) 编辑 收藏

springboot集成mybatis源码分析(一)相关推荐

  1. springboot集成mybatis源码分析-mybatis的mapper执行查询时的流程(三)

    springboot集成mybatis源码分析-mybatis的mapper执行查询时的流程(三) 例: package com.example.demo.service;import com.exa ...

  2. springboot集成mybatis源码分析-启动加载mybatis过程(二)

    springboot集成mybatis源码分析-启动加载mybatis过程(二) 1.springboot项目最核心的就是自动加载配置,该功能则依赖的是一个注解@SpringBootApplicati ...

  3. Springboot自动装配源码分析

    Springboot自动装配源码分析 1.从@SpringbootApplication点进去 2.可以看到核心的三个注解 @SpringbootConfiguration @EnableAutoCo ...

  4. Mybatis源码分析: MapperMethod功能讲解

    canmengqian </div><!--end: blogTitle 博客的标题和副标题 --> <div id="navigator"> ...

  5. mybatis源码分析之事务管理器

    2019独角兽企业重金招聘Python工程师标准>>> 上一篇:mybatis源码分析之Configuration 主要分析了构建SqlSessionFactory的过程中配置文件的 ...

  6. MyBatis 源码分析系列文章合集

    1.简介 我从七月份开始阅读MyBatis源码,并在随后的40天内陆续更新了7篇文章.起初,我只是打算通过博客的形式进行分享.但在写作的过程中,发现要分析的代码太多,以至于文章篇幅特别大.在这7篇文章 ...

  7. MyBatis 源码分析 - 插件机制

    1.简介 一般情况下,开源框架都会提供插件或其他形式的拓展点,供开发者自行拓展.这样的好处是显而易见的,一是增加了框架的灵活性.二是开发者可以结合实际需求,对框架进行拓展,使其能够更好的工作.以 My ...

  8. MyBatis 源码分析 - 缓存原理

    1.简介 在 Web 应用中,缓存是必不可少的组件.通常我们都会用 Redis 或 memcached 等缓存中间件,拦截大量奔向数据库的请求,减轻数据库压力.作为一个重要的组件,MyBatis 自然 ...

  9. MyBatis 源码分析 - 内置数据源

    1.简介 本篇文章将向大家介绍 MyBatis 内置数据源的实现逻辑.搞懂这些数据源的实现,可使大家对数据源有更深入的认识.同时在配置这些数据源时,也会更清楚每种属性的意义和用途.因此,如果大家想知其 ...

最新文章

  1. CSS3弹性盒模型之box-orient box-direction
  2. Java魂斗罗1234合集_《魂斗罗》正统续作1234部介绍,别再搞错喽!
  3. 【Paper】2021_Consensus Control of Leader-Following Multi-Agent Systems in Directed Topology
  4. C++ 重载运算符和重载函数(一)
  5. OpenCASCADE:OCCT应用框架OCAF之标准文件服务
  6. java-网络编程篇
  7. ASP.NET入门教程:服务器控件
  8. 库克:5G iPhone目前还不是我们考虑的问题
  9. 12306外包给阿里巴巴、IBM等大企业做是否可行?
  10. 如何使用Java代码获取Android移动终端Mac地址
  11. ESAPI(一)索引的操作以及数据插入
  12. 线下门店如何实现增长获客?
  13. LSD-slam算法原理
  14. 心电电路算法滤波_心电信号噪声的数字滤波研究
  15. [笔记] PPT幻灯片也RIA——PPT实现倒计时功能
  16. html页面布局实验原理,html网页制作实验报告.doc
  17. Day215.课程详细页面功能完善、Echarts统计分析模块[生成统计数据+生成图表]前后端整合 -谷粒学院
  18. 导航信号测试用什么软件,专业GPS测试软件 VisualGPSXP入门
  19. 微信小程序的项目缓存路径
  20. getchar()函数的作用

热门文章

  1. 网站运维技术与实践之服务器监测常用命令
  2. android 定位信息存哪,安卓手机便签系统存储位置在哪
  3. java注册登录客户端_GitHub - a-voyager/LoginSystem_Client: 登录注册系统(桌面客户端)——Java课程实践...
  4. oracle怎么导出筛选后的数据,ORACLE,筛选单字段不重复的记录,保留其他字段....
  5. 【springboot】禁用特定AutoConfiguration/自动配置类
  6. 前端框架-后台模板:Xadmin
  7. 【springboot】静态资源设置缓存时间
  8. xp系统怎么看不见其他网络计算机,xp系统工作组计算机不见了找不到的解决方法...
  9. java加按钮_如何从零开始对接第三方登录(Java版):QQ登录和微博登录
  10. 商品规格js_品优购电商系统开发 第3章 规格及模板管理