SpringBoot框架学习官网: Spring Boot
跟据本图SpringData
SpringData的任务是为数据访问提供一个熟悉的、一致的、基于Spring的编程模型,同时仍然保留底层数据存储的特殊特性。
它使使用数据访问技术、关系和非关系数据库、地图缩减框架以及基于云的数据服务变得容易。这是一个伞式项目,其中包含许多特定于给定数据库的子项目。这些项目是通过与这些令人兴奋的技术背后的许多公司和开发人员合作开发的。
下面是SpringData官网的内容:
SpringData特征
强大的存储库和自定义对象映射抽象
从存储库方法名称动态查询派生
提供基本属性的实现域基类
支持透明审核(创建、上次更改)
可以集成自定义存储库代码
通过JavaConfig和自定义XML名称空间轻松集成Spring
与Spring MVC控制器的高级集成
对跨存储持久性的实验支持
SpringData主要模块
Spring数据共享-支撑每个Spring数据模块的核心Spring概念。
SpringDataJDBC:JDBC的SpringData存储库支持。
Spring Data JDBC Ext-支持标准JDBC的数据库特定扩展,包括支持Oracle RAC快速连接故障转移、AQ JMS支持和使用高级数据类型的支持。
SpringDataJPA-SpringData存储库对JPA的支持。
SpringDataKeyValue——基于地图的存储库和SPI,可以轻松地为键值存储构建SpringData模块。
SpringDataLDAP——SpringLDAP的SpringData存储库支持。
Spring Data MongoDB——基于Spring的MongoDB对象文档支持和存储库。
Spring Data Redis-从Spring应用程序轻松配置和访问Redis。
Spring数据REST-将Spring数据存储库导出为超媒体驱动的RESTful资源。
针对Apache Cassandra的Spring数据-轻松配置和访问Apache Kasandra或大规模、高可用、面向数据的Spring应用程序。
Spring Data for Apache Geode-轻松配置和访问Apache Geode,实现高度一致、低延迟、面向数据的Spring应用程序。
针对VMware Tanzu GemFire的Spring Data—为您的高度一致、低延迟/高吞吐量、面向数据的Spring应用程序轻松配置和访问Pivotal GemFire。
SpringData社区模块
弹簧数据Aerospeck-Aerospike的弹簧数据模块。
ArangoDB的Spring Data模块。
Spring Data Couchbase-Couchbase的Spring Data模块。
Spring Data Azure Cosmos数据库-Microsoft Azure Commos数据库的Spring数据模块。
Spring数据云数据存储-用于Google数据存储的Spring数据模块。
Spring数据云扳手-谷歌扳手的Spring数据模块。
Spring Data DynamoDB-用于Dynamo DB的Spring Data模块。
Spring Data Elasticsearch-弹性搜索的Spring Data模块。
Spring Data Hazelcast-为Hazelcash提供Spring数据存储库支持。
Spring Data Jest-基于Jest REST客户端的用于Elasticsearch的Spring Data模块。
Spring Data Neo4j——基于Spring的对象图支持和Neo4j存储库。
Oracle NoSQL Database SDK for Spring Data-用于Oracle NoSQL数据库和Oracle NoSQL云服务的Spring数据模块。
Spring Data for Apache Solr-为面向搜索的Spring应用程序轻松配置和访问Apache Solr。
Spring Data Vault-基于Spring Data KeyValue构建的Vault存储库。
Spring Data YugabyteDB—用于YugabetDB分布式SQL数据库的Spring Data模块。
SpringBoot整合jdbcTemplate
创建的项目请看下面的图示:
创建的Spring Initializ人项目
导入依赖坐标信息
勾选SpringWeb
点击Sql语句
驱动程序Mysql Driver
pom.xml北至文件导入依赖:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.4</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.springdate</groupId> <artifactId>springboot-springdate04</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springboot-springdate04</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.7.4</version> <scope>compile</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
log4j导入依赖架包
<!--log4j--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.14</version> </dependency>
导入JDBC数据库
<!-- JDBC--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency>
Mysql的数据库
<!--Mysql--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.9</version> </dependency>
JDBC的数据库的连接
spring: datasource: username: root password: 123456 url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8 driver-class-name: com.mysql.cj.jdbc.Driver
package com.springdate.Controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; @RestController public class jdbc { @Autowired JdbcTemplate jdbcTemplate; //查询书籍看所有信息 @GetMapping("/userlist") public List<Map<String, Object>> userList(){ String sql = "SELECT * FROM account"; List<Map<String, Object>> lists_maps = jdbcTemplate.queryForList(sql); return lists_maps; }
@GetMapping("/adduser") public String addUser(){ String sql="INSERT INTO `mybatis`.`account`(`password`, `name`, `personid`, `balance`, `opendate`) VALUES ('111', '我是数据', 34435, 323, '2022-9-23 16:24:10')"; jdbcTemplate.update(sql); return "update-ok"; }
@GetMapping("/updateuser/{id}") public String updateUser(@PathVariable("id") int id){ String sql="UPDATE `mybatis`.`account` SET `id` = ?, `password` = ?, `name` = ?, `personid` = ?, `balance` = ? `opendate` = ? WHERE `id=`"+ id; Object[] objects = new Object[6]; objects[0]="122"; objects[1] = "1234567"; objects[2] = "张氏"; objects[3] = "23"; objects[4] = "56"; objects[5] = "2022-05-05 16:12:03"; jdbcTemplate.update(sql,objects); return "xoung gei"; }
@GetMapping("/deluser") public String delUser(@PathVariable("id") int id){ String sql="delete from `mybatis`.`account` where id=?"; jdbcTemplate.update(sql,id); return "del-ok"; }