1.SpringBoot整合Mybatis

1.2 添加Mybatis的起步依赖

  1. <!--mybatis起步依赖-->
  2. <dependency>
  3. <groupId>org.mybatis.spring.boot</groupId>
  4. <artifactId>mybatis-spring-boot-starter</artifactId>
  5. <version>1.1.1</version>
  6. </dependency>

1.3添加数据库驱动坐标

  1. <!-- MySQL连接驱动 -->
  2. <dependency>
  3. <groupId>mysql</groupId>
  4. <artifactId>mysql-connector-java</artifactId>
  5. </dependency>

1.4添加数据库连接信息

  1. #DB Configuration:
  2. spring.datasource.driverClassName=com.mysql.jdbc.Driver
  3. spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
  4. spring.datasource.username=root
  5. spring.datasource.password=root

2 SpringBoot整合Junit

2.1 添加Junit的起步依赖

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

2.2测试

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

  1. public final class SpringRunner extends SpringJUnit4ClassRunner

@SpringBootTest的属性指定的是引导类的字节码对象

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

5.3 SpringBoot整合Spring Data JPA

3.1 添加Spring Data JPA的起步依赖

  1. <!-- springBoot JPA的起步依赖 -->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-data-jpa</artifactId>
  5. </dependency>

3.2 添加数据库驱动依赖

  1. <!-- MySQL连接驱动 -->
  2. <dependency>
  3. <groupId>mysql</groupId>
  4. <artifactId>mysql-connector-java</artifactId>
  5. </dependency>

3.3 在application.properties中配置数据库和jpa的相关属性

  1. #DB Configuration:
  2. spring.datasource.driverClassName=com.mysql.jdbc.Driver
  3. spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
  4. spring.datasource.username=root
  5. spring.datasource.password=root
  6.  
  7. #JPA Configuration:
  8. spring.jpa.database=MySQL
  9. spring.jpa.show-sql=true
  10. spring.jpa.generate-ddl=true
  11. spring.jpa.hibernate.ddl-auto=update
  12. spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy

如果是JDK1.9测试会报错需要加上以下依赖

  1. <!--jdk9需要导入如下坐标-->
  2. <dependency>
  3. <groupId>javax.xml.bind</groupId>
  4. <artifactId>jaxb-api</artifactId>
  5. <version>2.3.0</version>
  6. </dependency>

4 SpringBoot整合Redis

4.1 添加redis的起步依赖

  1. <!-- 配置使用redis启动器 -->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-data-redis</artifactId>
  5. </dependency>

4.2 配置redis的连接信息

  1. #Redis
  2. spring.redis.host=127.0.0.1
  3. spring.redis.port=6379

4.3 注入RedisTemplate测试redis操作

  1. @RunWith(SpringRunner.class)
  2. @SpringBootTest(classes = SpringbootJpaApplication.class)
  3. public class RedisTest {
  4.  
  5. @Autowired
  6. private UserRepository userRepository;
  7.  
  8. @Autowired
  9. private RedisTemplate<String, String> redisTemplate;
  10.  
  11. @Test
  12. public void test() throws JsonProcessingException {
  13. //从redis缓存中获得指定的数据
  14. String userListData = redisTemplate.boundValueOps("user.findAll").get();
  15. //如果redis中没有数据的话
  16. if(null==userListData){
  17. //查询数据库获得数据
  18. List<User> all = userRepository.findAll();
  19. //转换成json格式字符串
  20. ObjectMapper om = new ObjectMapper();
  21. userListData = om.writeValueAsString(all);
  22. //将数据存储到redis中,下次在查询直接从redis中获得数据,不用在查询数据库
  23. redisTemplate.boundValueOps("user.findAll").set(userListData);
  24. System.out.println("===============从数据库获得数据===============");
  25. }else{
  26. System.out.println("===============从redis缓存中获得数据===============");
  27. }
  28.  
  29. System.out.println(userListData);
  30.  
  31. }
  32.  
  33. }

<你是我自发三杯也不肯开口的秘密>

SpringBoot_03_SpringBoot对其他技术的整合的更多相关文章

  1. Spring 5.x 、Spring Boot 2.x 、Spring Cloud 与常用技术栈整合

    项目 GitHub 地址:https://github.com/heibaiying/spring-samples-for-all 版本说明: Spring: 5.1.3.RELEASE Spring ...

  2. 【Spring】对持久层技术的整合

    一.持久层技术 二.JdbcTemplate 开发步骤: 1. 导入相关的jar包 2. 配置连接池(数据源) 将参数设置到属性文件中: 3. 创建表 4. 编写实体类 5. Dao层实现 5.1 继 ...

  3. Spring Boot 整合Web 层技术(整合Servlet)

    1 整合Servlet 方式一1.1通过注解扫描完成Servlet 组件的注册      1.1.1创建Servlet /*** 整合Servlet 方式一*/@WebServlet(name = & ...

  4. .NET Web开发技术简单整理

    在最初学习一些编程语言.一些编程技术的时候,做的更多的是如何使用该技术,如何更好的使用该技术解决问题,而没有去关注它的相关性.关注它的理论支持,这种学习技术的方式是短平快.其实工作中有时候也是这样,公 ...

  5. 转载:.NET Web开发技术简单整理

    在最初学习一些编程语言.一些编程技术的时候,做的更多的是如何使用该技术,如何更好的使用该技术解决问题,而没有去关注它的相关性.关注它的理论支持,这种学习技术的方式是短平快.其实工作中有时候也是这样,公 ...

  6. (转)iOS Wow体验 - 第八章 - 易用性与自动化技术

    本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第八章译文精选,也是全书译文的最后一篇.上一篇:W ...

  7. (转)iOS Wow体验 - 第五章 - 利用iOS技术特性打造最佳体验

    本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第五章译文精选,其余章节将陆续放出.上一篇:Wow ...

  8. 关于Ajax的技术组成与核心原理

    1.Ajax 特点: 局部刷新.提高用户的体验度,数据从服务器商加载 2.AJax的技术组成 不是新技术,而是之前技术的整合 Ajax: Asynchronous Javascript And Xml ...

  9. [转载]CTO和技术总监区别

    原文地址:http://blog.sina.com.cn/s/blog_6024cfa90101cb0h.html 技术总监(Chief Technical Officer)与CTO(Chief Te ...

随机推荐

  1. HTML5字体、伪元素、背景

    1.字体样式: 选择器  { font:font-style  font-weight  font-size / line-height   font-family:} 例:p { font: ita ...

  2. Pregel的应用实例——单源最短路径

  3. 获取文件或目录的属性 stat 函数

    头文件:  <sys/types.h>   <sys/stat.h>   <unistd.h> int stat(const char *path, struct ...

  4. visual studio 2013下搭建 安卓,ios,wp app开发平台

    1.安装 visual studio 2013 + Microsoft Visual Studio 2013 Update 4+Microsoft Build Tools 2015 2.安装java ...

  5. PHP算法之有效的括号

    给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合.左括号必须以正确的顺序闭合.注意空字符串可被认为是 ...

  6. vue-cli 4058错误

    vue搭建项目 执行命令 npm install -g vue-cli   出现错误 4058 1.按照文章http://www.jb51.net/article/126221.htm操作没有效果 2 ...

  7. 使用jQuery对象

    1基本行为 * size()/length: 包含的DOM元素个数 * [index]/get(index): 得到对应位置的DOM元素 * each(): 遍历包含的所有DOM元素 * index( ...

  8. 【NOI2019模拟2019.7.4】朝夕相处 (动态规划+BM)

    Description: 题解: 这种东西肯定是burnside引理: \(\sum置换后不动点数 \over |置换数|\) 一般来说,是枚举置换\(i\),则\(对所有x,满足a[x+i]=a[i ...

  9. 矩阵乘法分配律+bitset优化——hdu4920

    因为是模3,所以把原矩阵拆成两个01矩阵,然后按分配律拆开分别进行矩阵乘法,行列用bitset来存进行优化即可 注意 int bitset<int>::count() 函数可以统计bits ...

  10. cnn知识点汇总

    关于卷积神经网络的入门基础知识: https://blog.csdn.net/weixin_42451919/article/details/81381294   卷积神经网络的相关公式推导: htt ...