2019独角兽企业重金招聘Python工程师标准>>>

SpringBoot

1 连接数据库

Spring框架为连接数据库提供了许多的帮助,从JDBC连接到使用JdbcTemplate完成元素之间的映射技术。例如Hibernate、Spring Data提供了更高级别的功能,创建Repository的实现,用接口中的方法和xml文件具体SQL的映射,使得用java调用Sql更加简便。

1.1 配置DataSource

Java的javax.sql.DataSource一个接口,可以获取数据库的Connection。是标准化的,取得连接的一种方式。当然在配置DataSource之前需要我们导入所需要的jar包

  compile('org.springframework.boot:spring-boot-starter-jdbc')compile 'mysql:mysql-connector-java:8.0.11'

1.1.1 默认配置

这个方法非常的简单,只需要在application.yml中配置一些元素即可

spring:datasource:url: jdbc:mysql://localhost:3306/xmallusername: rootpassword: *******driver-class-name: com.mysql.jdbc.Driver

在SpringBoot中可以不用详细的指定driver-class-name,因为SpringBoot能够在所写的url中推断出来所用的

然后在测试方法类中查看是否已经配置完成,只要打印出来了配置信息,那么既表示已经将配置文件中的元素配置到了DataSource中。

@RunWith(SpringRunner.class)
@SpringBootTest
public class FirstSpringBootApplicationTests {@Autowiredprivate DataSourceProperties dataSourceProperties;@AutowiredApplicationContext applicationContext;@Testpublic void contextLoads() {// 获取配置的数据源DataSource dataSource = applicationContext.getBean(DataSource.class);// 查看配置数据源信息System.out.println(dataSource);System.out.println(dataSource.getClass().getName());System.out.println(dataSourceProperties.getUsername());}}

1.1.2 自定义配置数据源

在application.yml中配置如下


buxuewushu:datasource:url: jdbc:mysql://localhost:3306/xmallusername: rootpassword: *******driver-class-name: com.mysql.jdbc.Driver

然后在配置文件中写如下信息


/*** @program: FirstSpringBoot* @description:* @author: hu_pf@suixingpay.com* @create: 2018-07-30 16:37**/
@Configuration
public class DataConfigure {@Bean(name = "myDataSource")@Qualifier("myDataSource")@ConfigurationProperties("buxuewushu.datasource")public DataSource dateSource(){return DataSourceBuilder.create().build();}}

然后在测试类中测试如下

    @Resource(name = "myDataSource")private DataSource myDataSource;@AutowiredApplicationContext applicationContext;@Testpublic void contextLoads() {//执行SQL,输出查到的数据JdbcTemplate jdbcTemplate = new JdbcTemplate(myDataSource);List<?> resultList = jdbcTemplate.queryForList("select * from tb_address");System.out.println("===>>>>>>>>>>>" + resultList);}

发现能够打印出来Mysql数据库中的信息,即配置的数据源已经生效。

1.1.3 配置多数据源

如果需要配置多数据源的话,那么可以在使用上一小节的自定义配置来进行配置两个数据源。但是在配置文件中配置两个数据源的时候要配置一个主数据源,即在主数据源上加上@Primary注解。因为SpringBoot的自动配置功能需要有一个指定的数据源进行加载。

只需要在资源文件中配置不同的数据源,用名字进行区分开来,例如如下:

buxuewushu:datasource:first:url: jdbc:mysql://localhost:3306/firstusername: rootpassword: hpy911213driver-class-name: com.mysql.jdbc.Driverbuxuewushu:datasource:secend:url: jdbc:mysql://localhost:3306/secendusername: rootpassword: hpy911213driver-class-name: com.mysql.jdbc.Driver

然后在java的配置文件中,加载配置时如下写即可:

    @Bean@ConfigurationProperties("buxuewushu.datasource.first")@Primarypublic DataSource dateSourceFirst(){return DataSourceBuilder.create().build();}@Bean@ConfigurationProperties("buxuewushu.datasource.secend")public DataSource dateSourceSecend(){return DataSourceBuilder.create().build();}

1.1.4 使用JdbcTemplate

Spring的JdbcTemplateNamedParameterJdbcTemplate这两个类是自动配置的。可以直接在类中@Autowired进行使用。例子如下所示:

@Component
public class MyBean {private final JdbcTemplate jdbcTemplate;@Autowiredpublic MyBean(JdbcTemplate jdbcTemplate) {this.jdbcTemplate = jdbcTemplate;}// ...}

如果想配置一些关于template的参数的话,可以使用spring.jdbc.template.*进行配置。

spring.jdbc.template.max-rows=500

转载于:https://my.oschina.net/u/4030990/blog/2907075

不学无数——SpringBoot入门VI相关推荐

  1. 不学无数——SpringBoot入门Ⅱ

    2019独角兽企业重金招聘Python工程师标准>>> SpringBoot 1.Starters Starters是一套技术,是什么技术呢?是SpringBoot整理出来,人们经常 ...

  2. 不学无数——SpringBoot入门Ⅷ

    2019独角兽企业重金招聘Python工程师标准>>> SpringBoot--Actuator 1. 初识Actuator 在开发过程中,项目被放置到生产服务器上运行时,有可能需要 ...

  3. SpringBoot入门(二)——起步依赖

    本文来自网易云社区 在前一篇我们通过简单几步操作就生成了一个可以直接运行的Web程序,这是因为SpringBoot代替我们做了许多工作,概括来讲可以分为起步依赖和自动配置.这一篇先来看看起步依赖. 项 ...

  4. springboot 入门教程(4)--web开发(spring mvc和Thymeleaf模板,带源码)

    2019独角兽企业重金招聘Python工程师标准>>> 首先回顾下前几篇的内容:springboot 入门教程(1),springboot 入门教程-Thymeleaf(2), sp ...

  5. 【Java】SpringBoot入门学习及基本使用

    SpringBoot入门及基本使用 SpringBoot的介绍我就不多说了,核心的就是"约定大于配置",接下来直接上干货吧! 本文的实例: github-LPCloud,欢迎sta ...

  6. SpringBoot入门和配置

    一.SpringBoot入门和微服务简介  1.SpringBoot入门 springboot:J2EE一站式解决方案 springcloud:分布式整体解决方案 2.微服务简介    微服务:架构风 ...

  7. 最简单最详细的SpringBoot入门项目——HelloWorld

    最详细的SpringBoot入门项目--HelloWorld 关于SpringBoot的介绍以及优点这里就不说了,想了解的可以直接点击这里 Spring Boot百度百科 接下来我们直奔主题,开始用S ...

  8. SpringBoot简介、SpringBoot 入门程序搭建、与JDBC、Druid、Mybatis和SpringData JPA的整合

    一.SpringBoot 简介: spring boot并不是一个全新的框架,它不是spring解决方案的一个替代品,而是spring的一个封装.所以,你以前可以用spring做的事情,现在用spri ...

  9. springboot 历史版本文档_乘风破浪,SpringBoot入门

    SpringBoot入门篇 前言 在普通的java项目中,大量的xml文件配置起来相当繁琐,导致了开发效率非常低下,整合第三方框架的配置可能会存在冲突问题导致部署效率低,打包方式是将项目打成一个war ...

最新文章

  1. R语言应用实战-基于R语言的判别分析:fisher判别法,距离判别法以及Bayers判别法(附源代码)
  2. 超哥笔记--linux准备知识(1)
  3. Android 开发, Android 安全 精品资料收集 (持续更新...)
  4. 《数据库原理与应用》(第三版)第2章 数据模型与数据库结构 习题参考答案
  5. 互联网API开放平台安全设计-基于OAuth2.0协议方式
  6. 多项式幂函数(加强版)
  7. jira使用教程pdf_jira项目管理系统使用指南.pdf
  8. USACO 4.3 Street Race(DFS)
  9. win8.1 uefi引导
  10. 关于redis HSCAN count参数不生效的问题
  11. 计算机主机外接电源,电脑DIY必修课,电源接口详解
  12. 计算机主页为什么打不开怎么办,为什么我的电脑腾讯主页打不开
  13. echarts 3D圆柱形图 实现简单 带图例完美显示隐藏
  14. 全解MySQL之架构篇:自顶向下深入剖析MySQL整体架构
  15. docker logs命令查看日志
  16. 手机拍照打卡活动制作方案,通过拍照不聚集活动,函数参数(Function parameters)是在函数定义中所列的名称。
  17. 浅析3种电池容量监测方案
  18. 响铃:聚焦图片版权,百度区块链产品“图腾”如何打好这副牌
  19. Altium Designer 20设置铜皮到板框的距离(设置内缩)
  20. ECDS是电子商业汇票系统

热门文章

  1. mysql 删除process_MySQL中Alter table 你不知道的性能问题
  2. eigen3.3.4安装笔记
  3. linux无法找到网卡6,CentOS 6/7克隆主机网卡无法启动解决
  4. php是硬件还是软件,计算机操作系统是管理计算机硬件和软件的什么
  5. 1909升级卡64_苹果最新系统 macOS Catalina 10.15正式版更新,有哪些升级注意事项
  6. vue.js bootstrap 下拉列表_陕西省百度下拉总代理
  7. java hs_err 路径_JVM致命错误日志(hs_err_pid.log)解读
  8. throws java_基于Java中throw和throws的区别(详解)
  9. java读取http文件内容_使用HTTP读取文件的第一部分
  10. mysql设置行值唯一_mysql怎么设置行值唯一?