Springboot 第三讲 对数据库的操作

Springboot项目本地连接并操作MySQL数据库 CrossOrigin(origin=“*”):允许所有来源访问该url,解决本地访问跨域问题@RestController:@Controller和@ResponseBody的组合,它告诉Spring这个类是一个控制器(Controller),并且所有的方法返回的内容都直接写入HTTP响应体中,而不是解析为跳转路径,这通常用于RESTful Web服务,其中返回的数据是JSON或XML等格式。 阅读详情

这里讲解三种方式

JDBC操作
整合mybatis操作
使用JPA操作
注意:Demo只写Service层代码,操作数据库为test,表为Person
注意:新建的boot项目记得选spring web的起步依赖~

方式一 使用JDBC

1.导入springboot整合JDBC的起步依赖
    <!--导入springboot整合JDBC的起步依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <!--导入具体的数据库驱动类  mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

2.编辑application.yml

配置数据源

#配置springboot整合数据库基于jdbc
spring:
  datasource:
    url: jdbc:mysql:///test?serverTimezone=GMT%2B8
    username: root
    password: 1234
    driver-class-name: com.mysql.cj.jdbc.Driver

3.编写Service层代码
package com.demo.service.impl;

import com.demo.bean.Person;
import com.demo.service.PersonService;
import io.swagger.annotations.ApiImplicitParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class PersonServiceImpl implements PersonService {
    //再springboot引入 spring-boot-starter 起步依赖后,就可以采用springboot提供的JDBCTemlate来进行数据库操作
    @Autowired
    private JdbcTemplate jdbcTemplate;

    //增加
    @Override
    public void add(Person person) {
        jdbcTemplate.update("insert into person(name,age) value (?,?)",person.getName(),person.getAge());

    }

    //修改
    @Override
    public void update(Long id,Person person) {
        jdbcTemplate.update("update person set name=?,age=? where id=?",person.getName(),person.getAge(),id);

    }

    //根据id查找
    @Override
    public Person findOne(Long id) {
        return jdbcTemplate.queryForObject("select * from person where id=?",new BeanPropertyRowMapper<>(Person.class),id);
    }

    //查找全部
    @Override
    public List<Person> findAll() {
        return jdbcTemplate.query("select * from person",new BeanPropertyRowMapper<>(Person.class));
    }

    //根据id删除
    @Override
    public void Delete(Long id) {
        jdbcTemplate.update("delete from person where id = ?",id);

    }
}

4.在启动类加个注解

@SpringBootApplication //加载配置文件用的

方式二:使用mybatis

mybatis的操作分为两种,使用映射文件,使用注解
1.映射文件的方式
1.引入springboot整合mybatis的起步依赖包

      <!--导入具体的数据库驱动类  mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
      <!--导入mybatis整合依赖包-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>

2.使用逆向工程生成映射文件以及mapper接口还有bean
目录结构
在这里插入图片描述
注意:映射文件指向的位置要一致
在这里插入图片描述

3.配置application.yml文件

#配置springboot整合数据库基于jdbc
spring:
  datasource:
    url: jdbc:mysql:///test?serverTimezone=GMT%2B8
    username: root
    password: 1234
    driver-class-name: com.mysql.cj.jdbc.Driver
	
mybatis:
  #指明pojo所在位置
  type-aliases-package: com.demo.bean
  #指明mybatis映射文件所在目录
  mapper-locations: classpath:com/demo/mapper/*.xml

#开启sql打印日志 com.example.demo.dao是Mapper的包名
logging:
  level:
    com:
      example:
        demo:
          dao: DEBUG

4.在启动类加个注解,指明mapper接口的位置
@MapperScan(basePackages = “com.demo.mapper”)
在这里插入图片描述
5.这里就都配置好啦,service和controller这里就不写了
2.注解的方式
1.引入springboot整合mybatis的起步依赖包,同上操作
2.配置application.yml文件
这里只配置数据源

#配置springboot整合数据库基于jdbc
spring:
  datasource:
    url: jdbc:mysql:///test?serverTimezone=GMT%2B8
    username: root
    password: 1234
    driver-class-name: com.mysql.cj.jdbc.Driver

3.写mapper类来操作数据库
这里使用了注解
@Mapper
@Insert
@Delete()
@Update()
@Select()

package com.demo.mapper;
import com.demo.bean.Person;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface PersonMapper {
	//这里演示一个插入操作
    @Insert("insert into person(name,age) values (#{name},#{age})")
    public void add(Person p);
}

补充:配置数据源还可以使用Druid连接池 使用type属性

1.先加依赖

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.12</version>
        </dependency>

2.使用type属性添加

#配置springboot整合数据库基于jdbc
spring:
  datasource:
    url: jdbc:mysql:///test?serverTimezone=GMT%2B8
    username: root
    password: 1234
    driver-class-name: com.mysql.cj.jdbc.Driver
	type: com.alibaba.druid.pool.DruidDataSource  #添加连接池
mybatis:
  #指明pojo所在位置
  type-aliases-package: com.demo.bean
  #指明mybatis映射文件所在目录
  mapper-locations: classpath:com/demo/mapper/*.xml

3.还可以配置其他的属性

方式三 使用官方的JPA技术

1.导入相关依赖
     <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
               <!--引入阿里的连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.14</version>
        </dependency>
2.配置application.yml文件
#配置springboot整合数据库基于jdbc
spring:
  datasource:
    url: jdbc:mysql:///youlexuandb?serverTimezone=GMT%2B8
    username: root
    password: 1234
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource   #启用阿里的druid连接池
  jpa:
    hibernate:
      ddl-auto: update
    #在控制台输出执行的语句
    show-sql: true


jpa.hibernate.ddl-auto是hibernate的配置属性,其主要作用是:自动创建、更新、验证数据库表结构。该参数的几种配置如下:
·create:每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表,哪怕两次没有任何改变也要这样执行,这就是导致数据库表数据丢失的一个重要原因。
·create-drop:每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除。
·update:最常用的属性,第一次加载hibernate时根据model类会自动建立起表的结构(前提是先建立好数据库),以后加载hibernate时根据model类自动更新表结构,即使表结构改变了但表中的行仍然存在不会删除以前的行。要注意的是当部署到服务器后,表结构是不会被马上建立起来的,是要等应用第一次运行起来后才会。
·validate:每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。
到这就配置好了,然后书写对数据库的操作代码

3.创建一个bean

这里区别于其它多了几个注解
@Entity @Table @Id @GeneratedValue @Column

package com.demo.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.io.Serializable;
//Lombok生成getset方法以及有参无参构造函数
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity  //表示当前java类,对应映射到数据库一张表
@Table(name = "tb_user") //可以重命名生成表的表明,也可以不写该注解,默认是类名为表名
public class User implements Serializable {
    @Id   //表示当前属性id就是一个主键
    @GeneratedValue  //数据库自增
    private Long id;
    @Column(name="name",length =100,nullable = false)
    private String name;
    @Column(name="age",length =4,nullable = false)
    private int age;

    public User(String name,int age){
        this.name = name;
        this.age = age;
    }
}

其它常用注解说明
@Entity 声明类为实体或表
@Table 声明表名
@Basic 指定非约束明确的各个字段
@Embedded 指定类或它的值是一个可嵌入的类的实例的实体的属性
@Id 指定的类的属性,用于识别(一个表中的主键)
@GeneratedValue 指定如何标识属性可以被初始化,例如自动、手动、或从序列表中获得的值
@Transient 指定的属性,它是不持久的,即:该值永远不会存储在数据库中
@Column 指定持久属性栏属性
@SequenceGenerator 指定在@GeneratedValue注解中指定的属性的值。它创建了一个序列
@TableGenerator 指定在@GeneratedValue批注指定属性的值发生器。它创造了的值生成的表
@AccessType 这种类型的注释用于设置访问类型。如果设置@AccessType(FIELD),则可以直接访问变量并且不需要getter和setter,但必须为public。如果设置@AccessType(PROPERTY),通过getter和setter方法访问Entity的变量
@JoinColumn 指定一个实体组织或实体的集合。这是用在多对一和一对多关联
@UniqueConstraint 指定的字段和用于主要或辅助表的唯一约束
@ColumnResult 参考使用select子句的SQL查询中的列名
@ManyToMany 定义了连接表之间的多对多一对多的关系
@ManyToOne 定义了连接表之间的多对一的关系
@OneToMany 定义了连接表之间存在一个一对多的关系
@OneToOne 定义了连接表之间有一个一对一的关系
@NamedQueries 指定命名查询的列表
@NamedQuery 指定使用静态名称的查询

4.创建一个dao操作类并实现接口

相当于mybatis的mapper接口

package com.demo.dao;

import com.demo.bean.User;
import org.springframework.data.jpa.repository.JpaRepository;

//注意 泛型第一个是指定的类,第二个是主键的类型
//这个接口写好了所有增删查改的方法
public interface UserDao extends JpaRepository<User,Long> {
    
}

5.写一个service实现类
package com.demo.service.impl;

import com.demo.bean.User;
import com.demo.dao.UserDao;
import com.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserDao userDao;
	//增加
    @Override
    public void add(User user){
        userDao.save(user);
    }
    //修改
    @Override
    public void update(User user){
        userDao.saveAndFlush(user);
    }
	//根据id查找
    public User findOne(Long id){
        return userDao.findById(id).get();
    }
	//根据id删除
    public void delete(Long id){
        userDao.deleteById(id);
    }
}

6.controller层略

当你启动启动类后会发现,数据库会自动新增两张表
在这里插入图片描述
第一张表是用来存储自增的id值的
第二张表就是通过注解来自动生成的表

-----------------------------------------------------

JPA的操作非常的简单,看看dao层,只是实现了接口,增删查改等基本操作就都实现了,但是有没有发现一个问题?复杂的查询或者其它条件查询并没有实现,那对于这个问题怎么处理呢?下面来安排

按照一定命名规范来自定义方法

举例:新增一个通过姓名来查询的方法
只需要在userDao类添加一行代码
public List findByName(String name);

package com.demo.dao;

import com.demo.bean.User;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;

//注意 泛型第一个是指定的类,第二个是主键的类型
//这个接口写好了所有增删查改的方法
public interface UserDao extends JpaRepository<User,Long> {

    //自动推导,可以根据用户编写方法推导出用户查询意图,自动化实现队应查询
    public List<User> findByName(String name);


}

可以发现,根本不需要自己写sql语句,是直接推导出了用户的意图直接实现了该方法,所以方法名必须按照约定去命名,这里就体现了约定大于配置的理念

其它方法命名规则如下图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
那么问题又来了:我就要自己写sql语句可以吗?当然是可以的

JPA使用@Query实现自定义查询语句

这里有涉及到一个概念:JPQL语句,不能再像以前那种sql语法去写
在userDao类添加自定义方法
注意:
1.不能写表明,写的是bean类名
2.java8版本以上 传参前面要用@Param标示一下
3.JPQL语句接收参数用 : 参数名 的形式

//根据姓名的模糊查询
    @Query("select u from  User u where u.name like %:name%")
    public List<User> queryName(@Param("name") String name);
如果想使用原始sql语句,那注解要这样写

注意:
1.要设置nativeQuery = true
2.接收参数还是用 : name 的形式

//根据姓名的模糊查询
    @Query(nativeQuery = true,value = "select * from tb_user where name = :name")
    public List<User> queryname(String name);

补充知识:使用JPA快速的搭建一个Rest风格的接口

1.创建一个boot项目,启动依赖选三个
在这里插入图片描述
2.在pom.xml添加依赖

<!--JPA来处理rest风格所必须的包 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
 <!--bean类快速生成getset方法-->
   <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
   <!--ali提供的连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.14</version>
        </dependency>

3.修改application.properties为application.yml并添加以下代码

#配置springboot整合数据库基于jdbc
spring:
  datasource:
    url: jdbc:mysql:///test?serverTimezone=GMT%2B8
    username: root
    password: 1234
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource   #启用阿里的druid连接池
  jpa:
    hibernate:
      ddl-auto: update
    #在控制台输出执行的语句
    show-sql: true

注意:driver-class-name: com.mysql.cj.jdbc.Driver这里可能会报错
解决方法:加个依赖

 <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

4.写bean类

package com.demo.springbootjparestdemo.bean;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Car {
    @Id
    @GeneratedValue
    private int id;
    @Column(length = 100,nullable = false)
    private String name;
    @Column(length = 50)
    private double price;
}

5.实现JPA的操作接口类

package com.demo.springbootjparestdemo.dao;

import com.demo.springbootjparestdemo.bean.Car;
import org.springframework.data.jpa.repository.JpaRepository;

public interface CarDao extends JpaRepository<Car,Long> {
}

到这就写完了!完全不用写什么接口实现类
测试:
直接访问地址
http://localhost:8080/cars/
会出现
在这里插入图片描述
就说明成功了
其它测试地址
在这里插入图片描述
删除
delete http://localhost:8080/cars/6

默认的访问路径是cars,当然也可以自定义访问路径
在操作接口类添加注解
@RepositoryRestResource(path=“www”)
在这里插入图片描述
修改后的访问路径是http://localhost:8080/www/

也可以自定义方法

在操作接口类添加方法

 @RestResource(path="findbynames")
    List<Car> findByName(@Param("name") String name);

访问接口
http://localhost:8080/www/search/findbynames?name=本田
注意:访问接口前多加了一个search

如果想不暴露这些方法

在操作接口类添加注解,多个参数用,隔开
关闭时
@RepositoryRestResource(exported=false)
开启时
@RepositoryRestResource(exported=true)

配置跨域

直接在实现了Respository接口的类上增加跨域注解@CrossOrigin即可
例:
@CrossOrigin(“http://localhost/9001”)

SpringBoot第23讲:SpringBoot集成MySQL - 基于JPA的封装 在实际开发中,最为常见的是基于数据库的CRUD封装等,比如SpringBoot集成MySQL数据库,常用的方式有JPA和MyBatis; 本文是SpringBoot第23讲,主要介绍基于JPA方式的基础封装思路 阅读详情

相关推荐

spring boot 常用数据库操作例子

该demo包含spring boot 下使用jpa规范操作数据库的例子,包含同个项目多个数据库实例,存储过程操作,原始sql操作返回结果转换成DTO等例子。

SpringBoot篇——SpringBoot操作数据库(整合JDBC、Druid和Mybatis,超详细!)

1、首先在Springboot04DataApplication启动程序的同级建立config文件夹,新建Druid配置类,在该配置类中做绑定配置文件和自定义的监控配置等。八、编写application.yaml配置文件,将来都会整合到一个配置文件中(这一步很关键,不然我们编写的mapper.xml无法被扫描到)一、整合之前回顾当初Spring整合Mybatis时候,需要导入特定的依赖,而如今我们SpringBoot整合Mybatis,也需要导入依赖。预祝猿朋友早日成为全栈工程师!

我热爱学习,也乐于分享。无论是科技前沿的洞见,还是生活中的小技巧,我都会在这里与你分享。我相信,知识就是力量,而分享则能让这份力量得到更好的传递。 9060

Flutter加载本地HTML的优雅解决方案:轻松实现富文本展示

通过以上步骤,我们实现了Flutter加载本地HTML的完整流程,并简单介绍了如何通过WebView与HTML页面进行交互。HTML文件作为一种灵活、易维护的富文本展示方式,能有效提升Flutter应用的内容呈现能力。这种方法在展示新闻、资讯或帮助文档等内容时非常有用,能够让开发者灵活调整内容的样式和排版。希望这篇文章能对你在Flutter开发中的HTML加载有所帮助!

四楼没电梯的专栏 3637

Spring Boot框架(笔记二:数据层操作)

1.前提: 了解MyBatis框架。 配置好spring boot的配置文件。 并且创建一个demo数据库,并且添加book表,以及book_id、name、number等字段信息。 2.Thymeleaf是一种Java模板引擎,用于在Web应用程序中生成动态内容。它允许开发人员将模板与数据进行结合,生成最终的HTML页面。

光就是羁绊之力,它会再度被某人继承,散发出耀眼的光。 873

基于51单片机的贪吃蛇游戏设计

本科时候做的一个课程作业,自己打一个很简易的电路,比较有意思且易上手,故将之记录下来。(全套的仿真及代码,演示视频,课程报告以及PPT展示上传在优快云下载区) 一. 实验目的 (1) 通过对C51语言的理解,编写程序实现对贪吃蛇的有效控制; (2) 通过对51单片机硬件的学习,学会运用面包板,独立按键、点阵屏等,完成对完整电路的搭建过程; (3) 通过对Proteus仿真软件的学习,实现基于STC89C52单片机的8*8点阵贪吃蛇的硬件电路仿真。 二. 实验介绍 贪吃蛇是一款经典小游戏,其游戏的规则是:玩

山山の十三先生 2万+

IDEA系列(四):IDEA导入Maven工程项目并配置Tomcat启动

本片文章主要介绍如何导入一个存在的maven项目并配置Tomcat启动项目,方便自己使用,也分享出来,希望可以帮助到其他人。

低调D树苗的博客 1242

Spring Boot MySQL数据库的使用

Spring Boot是一个用与开发和构建基于Spring的框架的Java应用于程序的开源框架,它简化Spring应用程序的初始配置和开发过程,提供了一种快速构建可独立运行、生产就绪的Spring应用程序的方式。

JIANBINGLING的博客 3595

软件测试方法——等价类划分法详解

!如果下面这些资料用得到的话可以直接拿走:1、自学开发或者测试必备的完整项目源码与环境2、测试工作中所有模板(测试计划、测试用例、测试报告等)3、软件测试经典面试题4、Python/Java自动化测试实战.pdf5、Jmeter/postman接口测试全套视频获取6、Python学习路线图。

MXB1220的博客 1万+

SpringBoot(三)--- 数据库基础

在开发SpringBoot项目时,我们一般将web应用程序分为三层,即:Controller、Service、Dao。web开发调用流程图如下所示:下面讲解一下数据库的基础知识。数据库有两个概念,第一个是DBMS(数据库管理系统),是操作和管理数据库的大型软件。第二个是SQL(结构化查询语言),它是操作关系型数据库的编程语言,定义了一套操作关系型数据库的统一标准。

2301_76580356的博客 1018

Simulink模块库介绍(一)——信号源模块

Simulink模块库介绍(一)——信号源模块库目录Clock模块Digital Clock模块Band-Limited White Noise模块 目录 simulink模块库中提供了丰富的信号源模块组。逐一介绍,算是对之前做个总结吧 Clock模块 通过时钟模块,输出的时间作为判断呢,如下图,前2s之前为高斯白噪声,后2s为正弦曲线,共计10s。 Digital Clock模块 数字时钟模块主要用于离散系统的计时,sample time表示采用时间,如下图:分别是1s和0.5s的采样时间 Band-

5万+

视觉测量实战:C#上位机+OpenCVSharp 实现工业零件尺寸自动检测(精准像素级,工业级可落地)

本次开发的上位机界面遵循工业现场操作规范简洁、直观、按钮大、文字清晰、参数可视化调节,操作人员为车间工人/质检员,无需复杂操作,所有控件均为WinForms原生控件,拖拽即可完成布局本次实战完成了C#上位机+OpenCVSharp 工业零件尺寸自动检测系统的完整开发,这套方案是工业视觉测量的标准落地方案,适配95%的规则几何零件的尺寸检测场景,从五金件、塑胶件到电子元件,全覆盖无死角。测量效率提升100倍、精度提升10倍、无人工误差、可适配流水线实时检测。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 846

【springboot】19、数据库操作

HikariDataSource是springboot的默认数据源,性能十分优秀,我们如果想要进行数据库操作,需要引入相应的starter。接下来就是配置数据库的基本信息了,我们在配置文件yaml中进行配置,数据库的配置信息是基于DataSourceProperties这个类的。上面我们使用的是默认数据源,这里我就来介绍如何进行切换,以Druid为例子,首先我们现需要引入druid的相关依赖。这样配置之后,我们的数据源就已经是Druid了,还是运行上面的测试代码,查看控制台输出。运行代码,查看控制台输出。

秃头披风侠的博客 2695

redhawk:Low Power Analysis

1.rush current与switch cell 在standby状态下为了控制leakage power我们选择power gating的设计方式,使用power switch cell关闭block/power domain的电源。 power switch的基本介绍可见: 低功耗设计-Power Switch power switch的table中有四种状态,对应block工作、待机和上电,下电。low power analysis主要分析上电的过程。 上电过程可以看做mos电容

m0_61544122的博客 3201

springboot连接redis并动态切换database(db0到db15)

redis db0到db15 可以理解为数据库表这是redis默认提供的16个表 我们可以把不同的数据存在不同的db上 取得时候可以在不同的db拿到不同类型数据 @Test public void contextLoads() { for (int i = 0; i <= 2; i++) { LettuceConnectionFactory lettuceConnectionFactory ...

weixin_43564627的博客 1万+

无人机导航中的坐标系统详解与转换实现

本文系统介绍了无人机导航中常用的坐标系及其转换方法。主要内容包括:1) 四种关键坐标系(大地坐标系ECEF、经纬度LLA、北东天坐标系NED、机体坐标系)的定义和特点;2) 坐标系间的转换原理与实现,重点讲解LLA与ECEF的互转公式及ECEF与NED的转换方法;3) 提供可直接使用的C++实现代码,包括基于WGS84椭球模型的精确转换算法。这些内容为无人机导航系统开发提供了实用的坐标系处理方案,能够有效解决多源数据在不同坐标系下的统一表示问题。

电脑管家 372

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SpringBoot2+Redis动态切换db数据源(db)最佳实践

在使用Redis的时候,默认是16个库,非常小的项目默认0库就够了,但是对于体量稍微大一些的项目,需要将其他各个库充分利用,这里我们来看下SpringBoot下如何动态切换DB,让其他数据源也能够得到利用

君哥聊编程 9604

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

springboot实现调用第三方接口获取数据并存入数据库

简介 使用springboot框架,调取第三方接口的数据并存入mysql库,不是专门搞java开发的,只是一个sqlboy,欢迎各位大佬指点建议 准备 1、准备一个第三方接口,我这里用的之前参考另一位大佬的文章使用的api,链接在文末 2、根据返回参数,在mysql数据库新建对应表用于接收数据 CREATE TABLE `joke` ( `id` varchar(100) DEFAULT NULL, `text` varchar(2000) DEFAULT NULL, `title` var

Sleten09的博客 2万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

基于springboot的大学生体测数据管理系统计算机毕设

本系统在技术选型上充分考虑了系统的可扩展性、可维护性和性能表现,为后续的功能扩展和应用推广奠定了坚实的基础。对于学生来说,他们需要能够查看自己的体测数据,了解自己的身体状况,并根据系统提供的健康建议进行合理的锻炼。- 收益分析:该系统可以帮助学校更好地管理学生的体测数据,提供个性化的健康建议,提高学生身体素质,减少因体质问题引起的医疗费用支出。- 大数据技术应用:该系统需要处理大量的体测数据,利用大数据分析技术可以进行数据的挖掘和分析,提供有价值的健康建议和管理方案。

1649

Springboot职工体检数据管理系统pdaiz

第八学期第11-12周:根据毕业设计继续完善论文的内容,修改论文格式,完成论文查重。完成结题报告,继续修改论文格式。第八学期第1周:查阅资料,学习相关开发技术,结合需求对系统进行框架设计,制定论文大致框架,实现数据库系统设计。:这是一个轻量级但功能强大的跨平台 IDE,提供对 Java 和 Spring Boot 开发的良好支持。核心容器:Spring Boot 提供了一个全面的核心容器,用于管理应用程序中的对象和依赖关系。提供了丰富的自动配置机制,可以根据项目中的配置文件或外部属性自动配置应用程序。

ck3026的博客 882

Springboot城市空气质量数据管理系统futcv

Springboot城市空气质量数据管理系统futcv本系统(程序源码数据库调试部署开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容。

cccc_cz的博客 845

第40章:SpringBoot的集成与第三方数据库

1.背景介绍 1. 背景介绍 随着业务的扩展和数据量的增加,传统的数据库系统可能无法满足企业的需求。为了解决这个问题,企业需要选择一种高性能、可扩展的数据库系统。第三方数据库是一种可以满足这些需求的解决方案。 SpringBoot是一个用于构建新型Spring应用程序的框架。它提供了一种简单的方法来集成第三方数据库。在本文中,我们将讨论如何使用SpringBoot集成第三方数据库,并探讨其优...

AI天才研究院 1237

SpringBoot下Redis切换db

我的springboot版本:1.5.6 redis下,数据库是由一个整数索引标识,而不是由一个数据库名称。默认情况下,一个客户端连接到数据库0。 一个redis实例,一般有默认有16个db,当然,也可以自己在redis的配置文件中配置redis的db数量 /etc/redis/redis.conf 文件中,有个配置项 databases = 16 (‘16’,可自己配置具体大小,一般默...

With_Her的博客 7544

【关注可白嫖源码】-springboot 人员流调数据管理系统

随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,人员流调数据管理系统当然也不能排除在外。人员流调数据管理系统是以实际运用为开发背景,运用软件工程原理和开发方法,采用Java技术构建的一个管理系统。整个开发过程首先对软件系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等

VX_BYSJ8341的博客 1108

springboot实验室数据管理系统-计算机毕业设计源码08166

登录(三种角色:管理员、实验人员、普通用户)无注册 首页 数据管理:增删改查,可以查看已完成实验的信息和数据,excel导入导出,文件上传下载 实验管理:增删改查,可以查看实验列表(未开始,进行中,完成),(实验信息填写,开始实验,显示实验状态)->数据记录,记录的次数为总实验时间/时间间隔->完成实验 用户管理: 权限管理:分配用户权限,普通用户只能查看数据 日志管理:记录用户的操作

高级程序源的博客 1135

SpringBoot集成H2-Database

目录一、什么是H2Database二、H2Database有什么特点三、下载与安装四、springboot使用Database1、导入依赖2、添加springboot配置3、添加实体类4、添加jpa接口5、测试接口五、Database运行方式1、内嵌式2、服务式 一、什么是H2Database H2是一个开源的嵌入式数据库引擎,采用java语言编写,不受平台的限制,同时H2提供了一个十分方便的web控制台用于操作和管理数据库内容。 二、H2Database有什么特点 1、H2是一个用Java开发的嵌入式数据

怪咖@的博客 2387

SpringBoot的集成第三方数据库

1.背景介绍 1. 背景介绍 随着互联网的发展,数据库技术已经成为了企业和组织中不可或缺的一部分。Spring Boot是一个用于构建微服务应用的框架,它可以轻松地集成各种第三方数据库。在本文中,我们将讨论如何使用Spring Boot集成第三方数据库,以及其优缺点。 2. 核心概念与联系 在Spring Boot中,数据库集成主要依赖于Spring Data项目。Spring Data是...

AI天才研究院 710
上一篇: Springboot 第二讲 属性配置及访问静态资源
下一篇: Spring cloud --分布式配置中心组件Spring Cloud Config
Sonk.
博客等级 码龄8年 84粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sonk.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值