Spring Boot之jdbc数据操作06

JDBC

通过快速创建spring boot项目选择 mysql 和jdbc 创建一个基于web的spring boot项目

依赖为

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency>

通过配置yaml的配置文件来配置数据源DataSource

spring:datasource:username: rootpassword: 123456url: jdbc:mysql://192.168.15.22:3306/jdbcdriver-class-name: com.mysql.jdbc.Driver

效果:

默认是用org.apache.tomcat.jdbc.pool.DataSource作为数据源;

数据源的相关配置都在DataSourceProperties里面;

自动配置原理:

org.springframework.boot.autoconfigure.jdbc:

1、参考DataSourceConfiguration,根据配置创建数据源,默认使用Tomcat连接池;可以使用spring.datasource.type指定自定义的数据源类型;

2、SpringBoot默认可以支持;

org.apache.tomcat.jdbc.pool.DataSource、HikariDataSource、BasicDataSource、

3、自定义数据源类型

/*** Generic DataSource configuration.*/
@ConditionalOnMissingBean(DataSource.class)
@ConditionalOnProperty(name = "spring.datasource.type")
static class Generic {@Beanpublic DataSource dataSource(DataSourceProperties properties) {//使用DataSourceBuilder创建数据源,利用反射创建响应type的数据源,并且绑定相关属性return properties.initializeDataSourceBuilder().build();}}

4、DataSourceInitializer:ApplicationListener

作用:

1)、runSchemaScripts();运行建表语句;

2)、runDataScripts();运行插入数据的sql语句;

默认只需要将文件命名为:

schema-*.sql、data-*.sql
默认规则:schema.sql,schema-all.sql;
可以使用   schema:- classpath:department.sql指定位置

5、操作数据库:自动配置了JdbcTemplate操作数据库

通过spring 提供的JdbcTemplate 可以执行crud操作

编写控制器类


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;import java.util.List;
import java.util.Map;@Controller
public class JdbcController {@AutowiredJdbcTemplate jdbcTemplate;@ResponseBody@GetMapping("/qu")public Map<String,Object> select(){List<Map<String, Object>> maps = jdbcTemplate.queryForList("select * from user ");return maps.get(0);}
}

通过开启服务器访问就可以在页面上看到返回的查询第一条的数据

Spring Boot之jdbc数据操作06相关推荐

  1. Spring Boot + JPA +MySQL 数据操作及示例环境搭建(自动建表)

    JPA 是Java官方提供的数据持久的统一API , 是一个接口标准,并没有具体实现. JPA的实现常见的有: Hibernate TopLink (Eclipse Link) Spring Boot ...

  2. Spring Boot + JPA +MySQL 数据操作及示例环境搭建(手动建表建类)

    本篇演示如何搭建Spring Boot+JPA + MySQL 的开发环境, 以及使用JPA进行基本的查询. 环境搭建 1. Spring Boot项目创建 Spring Boot 项目的搭建参考: ...

  3. Spring Boot 启动载入数据 CommandLineRunner

    Spring Boot 启动载入数据 CommandLineRunner 实际应用中,我们会有在项目服务启动的时候就去载入一些数据或做一些事情这种需求. 为了解决这种问题.Spring Boot 为我 ...

  4. Spring Boot 返回 XML 数据,一分钟搞定!

    2019独角兽企业重金招聘Python工程师标准>>> Spring Boot 返回 XML 数据,前提必须已经搭建了 Spring Boot 项目,所以这一块代码就不贴了,可以点击 ...

  5. 在Spring Boot中使用数据缓存

    关注公众号[江南一点雨],专注于 Spring Boot+微服务以及前后端分离等全栈技术,定期视频教程分享,关注后回复 Java ,领取松哥为你精心准备的 Java 干货! 春节就要到了,在回家之前要 ...

  6. boke练习: spring boot: security post数据时,要么关闭crst,要么添加隐藏域

    spring boot: security post数据时,要么关闭crst,要么添加隐藏域 http.csrf().disable(); 或者: <input name="${_cs ...

  7. Spring Boot处理JSON数据

    Spring Boot处理JSON数据 在Spring Boot的Web应用中,内置JSON数据解析功能,默认使用Jackson自动解析,不需要加载Jackson依赖包,当控制器返回一个Java对象或 ...

  8. 利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细

    在Spring Boot的Web应用中 内置了JSON数据的解析功能,默认使用Jackson自动完成解析(不需要解析加载Jackson依赖包)当控制器返回一个Java对象或集合数据时 Spring B ...

  9. Spring Boot实战:数据库操作

    From: https://www.cnblogs.com/paddix/p/8178943.html 上篇文章中已经通过一个简单的HelloWorld程序讲解了Spring boot的基本原理和使用 ...

最新文章

  1. 阿里云安装LNMP以及更改网站文件和MySQL数据目录
  2. 为什么添加Web引用后,客户端就能远程调用WebService了?
  3. 金融风控实战——模型融合
  4. hdu 5464(简单dp)
  5. NC119-最小的k个数
  6. Spring配置形式之基于注解的方式
  7. C++总结篇(3)String类
  8. 基础算法 —— 高精度计算 —— 高精度加法
  9. 大数据分析-时间序列(pandas库 )
  10. 怎样用命令查看Mysql数据库大小?
  11. C# 处理XML的基本操作
  12. LibXML2不支持中文补遗
  13. 给站长推荐几本IT书
  14. luogu P1375 小猫
  15. 网上下载图片去水印的方法
  16. React项目实现导出PDF的功能
  17. Science 李伟/周琪团队联合开发染色体编辑新技术,创建全新核型小鼠,哺乳动物染色体尺度基因组重塑元年...
  18. 梯度下降算法的细节补充(凸函数, 导数, 偏导数,梯度, 方向导数以及负梯度下降最快背后的泰勒身影)
  19. 有关JSON和介绍和使用
  20. 品牌公关与传统媒体有什么关联和作用

热门文章

  1. TOEIC Speak 真题
  2. 使用Snoopy类实现微信图文抓取功能
  3. oracle shared pool size,SHARED_POOL_RESERVED_SIZE参数的设置及作用
  4. 菜鸟网络面试——123面
  5. Exact Audio Copy
  6. 计划处理链的很多种情况factory calendar
  7. Jenkins pipeline push Git tag
  8. python实现进制转换器_python实现进制转换(二、八、十六进制;十进制)
  9. keytool生成私钥、公钥、证书详解
  10. ROS melodic+Astra s编译运行ros_astra_camera实录(踩坑没填完)