13 Spring Boot:

01.spring boot 介绍&&02.spring boot 入门

04.spring boot 配置文件

05.spring boot 整合其他技术

SpringBoot基础


五、SpringBoot与整合其他技术

5.1 SpringBoot整合Mybatis

MySQL数据库版本: 8.0.17

 

  1. <parent>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-parent</artifactId>
  4. <version>2.1.8.RELEASE</version>
  5. <relativePath/> <!-- lookup parent from repository -->
  6. </parent>

1、添加Mybatis的起步依赖 

2、添加数据库驱动坐标

  1. <properties>
  2. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  3. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  4. <java.version>1.8</java.version>
  5. </properties>
  6.  
  7. <dependencies>
  8. <dependency>
  9. <groupId>org.springframework.boot</groupId>
  10. <artifactId>spring-boot-starter-web</artifactId>
  11. </dependency>
  12.  
  13. <!--SpingBoot集成junit测试的起步依赖-->
  14. <dependency>
  15. <groupId>org.springframework.boot</groupId>
  16. <artifactId>spring-boot-starter-test</artifactId>
  17. <scope>test</scope>
  18. </dependency>
  19.  
  20. <!--mybatis起步依赖-->
  21. <dependency>
  22. <groupId>org.mybatis.spring.boot</groupId>
  23. <artifactId>mybatis-spring-boot-starter</artifactId>
  24. <version>2.1.0</version>
  25. </dependency>
  26.  
  27. <!-- MySQL连接驱动 -->
  28. <dependency>
  29. <groupId>mysql</groupId>
  30. <artifactId>mysql-connector-java</artifactId>
  31. </dependency>
  32.  
  33. </dependencies>
  34.  
  35. <build>
  36. <plugins>
  37. <plugin>
  38. <groupId>org.springframework.boot</groupId>
  39. <artifactId>spring-boot-maven-plugin</artifactId>
  40. </plugin>
  41. </plugins>
  42. </build>

3、添加数据库连接信息
 在 application.properties 中添加数据量的连接信息

project Encoding

为了避免.properties文件中文乱码,请按参考资料配置编码格式为UTF-8

  1. #数据库连接信息
  2. spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
  3. spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
  4. spring.datasource.username=root
  5. spring.datasource.password=root

在itheima数据库中创建user表
 使用Navicat图形化界面连接软件

  1. DROP TABLE IF EXISTS `user`;
  2. CREATE TABLE `user` (
  3. `id` int(11) NOT NULL AUTO_INCREMENT,
  4. `username` varchar(50) DEFAULT NULL,
  5. `password` varchar(50) DEFAULT NULL,
  6. `name` varchar(50) DEFAULT NULL,
  7. PRIMARY KEY (`id`)
  8. ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

插入测试数据

  1. -- ----------------------------
  2. -- Records of user
  3. -- ----------------------------
  4. INSERT INTO `user` VALUES ('', 'zhangsan', '', '张三');
  5. INSERT INTO `user` VALUES ('', 'lisi', '', '李四');

 4、 在domain包:创建实体类

  1. package com.itheima.domain;
  2.  
  3. public class User {
  4.  
  5. private Long id;
  6. private String username;
  7. private String password;
  8. private String name;
  9.  
  10. @Override
  11. public String toString() {
  12. return "User{" +
  13. "id=" + id +
  14. ", username='" + username + '\'' +
  15. ", password='" + password + '\'' +
  16. ", name='" + name + '\'' +
  17. '}';
  18. }
  19. //此处省略getter和setter方法

5、 编写DAO层的接口类

IUserDao

  1. package com.itheima.mapper;
  2.  
  3. import com.itheima.domain.User;
  4. import org.apache.ibatis.annotations.Mapper;
  5.  
  6. import java.util.List;
  7.  
  8. @Mapper
  9. public interface IUserDao {
  10.  
  11. public List<User> queryUserList();
  12.  
  13. }

6、配置Mapper映射文件

在src/main/resources/com/itheima/mapper路径下加入UserMapper.xml配置文件

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
  4.  
  5. <mapper namespace="com.itheima.mapper.IUserDao">
  6. <select id="queryUserList" resultType="user">
  7. select * from user
  8. </select>
  9. </mapper>

7、在application.properties中添加mybatis的信息

  1. #配置mybatis的信息
  2. #spring集成Mybatis环境
  3. #pojo别名扫描包
  4. mybatis.type-aliases-package=com.itheima.domain
  5. #加载Mybatis映射文件
  6. mybatis.mapper-locations=classpath:com/itheima/mapper/*Mapper.xml

通过测试证明:spring boot 集成mybatis框架【DAO层接口+XML配置文件】, 在接口的public的关键字上一行要加注解 @Mapper

接口的文件名不一定必须和XML映射配置文件名一致,因为spring boot的 application*.properties里面有扫描 *Mapper.xml文件包的配置信息。

记录一个springboot 中集成 mybatis 的完整使用过程


5.2 SpringBoot整合Junit4测试 

 1、添加包含Junit的起步依赖

  1. <!--springboot测试的起步依赖-->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-test</artifactId>
  5. <scope>test</scope>
  6. </dependency>

2、编写测试类的基类

  1. @RunWith(SpringRunner.class)
  2. @SpringBootTest(classes = MySpringBootApplication.class)
  3. public class MapperTest {
  4. @Autowired
  5. private UserMapper userMapper;
  6. @Test
  7. public void test() {
  8. List<User> users = userMapper.queryUserList();
  9. System.out.println(users);
  10. }
  11.  
  12. }

其中,SpringRunner继承自SpringJUnit4ClassRunner,使用哪一个Spring提供的测试测试引擎都可以。

  1. public final class SpringRunner extends SpringJUnit4ClassRunner

@SpringBootTest 的classes属性 指定的是SpringBoot引导类(启动类)的字节码对象。

=================================

参考资料:

Idea之乱码解决

end

黑马_13 Spring Boot:05.spring boot 整合其他技术的更多相关文章

  1. Spring基础05——Spring依赖注入的三种方式

    Spring支持3种依赖注入的方式:属性注入.构造器注入.工厂 1.属性注入 属性注入即通过setter方法注入Bean的属性或依赖的对象.使用<property>元素,使用name属性指 ...

  2. 黑马_13 Spring Boot:04.spring boot 配置文件

    13 Spring Boot: 01.spring boot 介绍&&02.spring boot 入门 04.spring boot 配置文件 05.spring boot 整合其他 ...

  3. 黑马_13 Spring Boot:01.spring boot 介绍&&02.spring boot 入门

    13 Spring Boot: 01.spring boot 介绍&&02.spring boot 入门 04.spring boot 配置文件 SpringBoot基础 1.1 原有 ...

  4. spring boot与jdbcTemplate的整合案例2

    简单入门了spring boot后,接下来写写跟数据库打交道的案例.博文采用spring的jdbcTemplate工具类与数据库打交道. 下面是搭建的springbootJDBC的项目的总体架构图: ...

  5. Spring Kafka和Spring Boot整合实现消息发送与消费简单案例

    本文主要分享下Spring Boot和Spring Kafka如何配置整合,实现发送和接收来自Spring Kafka的消息. 先前我已经分享了Kafka的基本介绍与集群环境搭建方法.关于Kafka的 ...

  6. Spring Boot(Spring的自动整合框架)

    Spring Boot 是一套基于Spring框架的微服务框架,由于Spring是一个轻量级的企业开发框架,主要功能就是用于整合和管理其他框架,想法是将平时主流使用到的框架的整合配置预先写好,然后通过 ...

  7. 史上最全面的Spring Boot Cache使用与整合

    一:Spring缓存抽象 Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口 ...

  8. Spring Boot与Spring Security整合后post数据不了,403拒绝访问

    http://blog.csdn.net/sinat_28454173/article/details/52251004 *************************************** ...

  9. Spring Boot 中使用 MyBatis 整合 Druid 多数据源

    2017 年 10 月 20 日   Spring Boot 中使用 MyBatis 整合 Druid 多数据源 本文将讲述 spring boot + mybatis + druid 多数据源配置方 ...

随机推荐

  1. 129-PHP子类不能访问父类private修饰的类成员

    <?php class father{ //定义father类 //定义private修饰的类成员和方法 private $hair='curly hair'; private function ...

  2. 《新标准C++程序设计》4.1(C++学习笔记12)

    运算符重载的概念和原理 一.运算符重载的需求 C++预定义的“+.-. * ./.%. ^ .&.~.!.|. = .<< >>.!= ”等运算符,只能用于基本数据类型 ...

  3. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-indent-right

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  4. P 1023 组个最小数

    转跳点:

  5. ZOJ - 3123 Subsequence (滑动窗口)

    题意:给定N个数,求和大于等于S的最短连续子序列的长度. 分析:滑动窗口即可.两种写法. 1. #include<cstdio> #include<cstring> #incl ...

  6. 17 ~ express ~ 分类的显示 ,修改 和 删除

    一,前台显示 /views/admin/category.html {% extends 'layout.html' %} {% block main %} <ol class="br ...

  7. OnPaint中画图遇到的问题

    在OnPaint函数中有CPaintDC dc1(this);这句话,在画图时,千万不要把它去掉,否则会造成消息队列阻塞.例如定时器.Invalidate()等都会失效. 造成这种现象的原因是: CP ...

  8. Oracle学习笔记(2)

    2.Oracle用户管理 (1)创建用户:create user 用户名 identified by 密码(需要dba权限); sql>create user yzw identified by ...

  9. html 鼠标样式 鼠标悬停 小手样式

    在style中添加cursor:pointer 实现鼠标悬停变成小手样式 先来一个示例 <div style="float:right"> <a class=&q ...

  10. 吴裕雄--天生自然Django框架开发笔记:Django Nginx+uwsgi 安装配置

    Django Nginx+uwsgi 安装配置 使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,需要一个可以稳定而持续的服务器,比如 ...