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. Tomcat8配置tomcat-users.xml配置
  2. http request header 中的host行的作用
  3. html流程图可新增删除,CSS / HTML流程图
  4. Android 6.0动态权限申请
  5. windows——celery
  6. MyBatis常用配置解析-mapper标签
  7. html dom对象常用事件,HTML Dom Event对象onkeydown事件
  8. C#LeetCode刷题之#35-搜索插入位置(Search Insert Position)
  9. 05.SQL Server大数据群集小试牛刀--HDFS查询
  10. 避免踩坑:易盾安全老司机起底Android九大漏洞,附解决建议
  11. tcp协议和三次握手
  12. 用HackRF One模拟GPS信号
  13. 数据结构问题解决2.1——单链表存储结构定义详细解释,struct LNode* next解释,为啥next定义成指针类型
  14. 求职简历计算机应用基础,计算机应用基础第3章 Word基本应用—制作求职简历.ppt...
  15. UE4 横板过关 启用WS前后移动且镜头固定
  16. 【基础知识】8、加州房价预测项目精细解释
  17. Android 获取手机存储空间
  18. 【观察】华为IoT首席架构师王启军:云计算时代全栈工程师的养成
  19. cerr与cout的区别
  20. canvas宽高设置

热门文章

  1. java换脸_随意换脸 · ink-image/api Wiki · GitHub
  2. es 全量同步mysql_什么时候该用MySQL,什么时候该用ES呢?
  3. 阿里 框架 原声Android,阿里P8大佬亲自教你!你所不知道的Android原生开发的现状,含泪整理面经...
  4. 杭州水利水电学院计算机多少学,杭州的一所很容易考上的公办本科大学——浙江水利水电学院...
  5. 华为交换机ipv6默认路由配置_静态路由和默认路由的配置
  6. gzip android,怎么在Android系统中使用gzip进行数据传递
  7. mysql 多张表公用一个序列_Mysql--序列3--分库分表策略
  8. 【spring boot】【thymeleaf】SPEL处理 null 值
  9. python程序结构有哪几种_Python数据结构与算法(几种排序)小结
  10. pyqt 把控制台信息显示到_内网渗透初识—信息收集