SpringBoot资源整合——SpringData(课时十八)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: SpringBoot资源整合——SpringData(课时十八)

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";
    }

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
SQL Java 关系型数据库
SpringBoot整合SpringData与JPA
SpringBoot整合SpringData与JPA
28 0
|
JSON JavaScript 前端开发
【极简版】SpringBoot+SpringData JPA 管理系统
我的目的是做一个十分简易的管理系统,这就得有页面,下面我继续来讲讲我是怎么快速搭一个管理系统的。
158 0
【极简版】SpringBoot+SpringData JPA 管理系统
|
JSON 前端开发 JavaScript
【极简版】SpringBoot+SpringData JPA 管理系统
前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 在上一篇中已经讲解了如何从零搭建一个SpringBoot+SpringData JPA的环境,测试接口的时候也成功获取得到数据了。
1808 0
|
Java 关系型数据库 数据库
带你搭一个SpringBoot+SpringData JPA的环境
前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 不知道大家对SpringBoot和Spring Data JPA了解多少,如果你已经学过Spring和Hibernate的话,那么SpringBoot和SpringData JPA可以分分钟上手的。
1514 0
|
Java 数据库连接 数据库
第11章—使用对象关系映射持久化数据—SpringBoot+SpringData+Jpa进行查询修改数据库
SpringBoot+SpringData+Jpa进行查询修改数据库 JPA由EJB 3.0软件专家组开发,作为JSR-220实现的一部分。但它又不限于EJB 3.0,你可以在Web应用、甚至桌面应用中使用。
1250 0
|
18天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
26天前
|
Java API Spring
SpringBoot项目调用HTTP接口5种方式你了解多少?
SpringBoot项目调用HTTP接口5种方式你了解多少?
80 2
|
26天前
|
前端开发 JavaScript Java
6个SpringBoot 项目拿来就可以学习项目经验接私活
6个SpringBoot 项目拿来就可以学习项目经验接私活
34 0
|
1月前
|
前端开发 Java 关系型数据库
SpringBoot+MyBatis 天猫商城项目
SpringBoot+MyBatis 天猫商城项目
57 1
|
29天前
|
Java Maven 微服务
springboot项目开启远程调试-jar包
springboot项目开启远程调试-jar包
20 0