6. datasource - mysql【从零开始学Spring Boot】

本文详细介绍如何在SpringBoot项目中配置并接入MySQL数据库,包括application.properties文件的设置、pom.xml中添加MySQL依赖以及通过示例代码进行连接测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

【视频 & 交流平台】

à SpringBoot视频

http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

à SpringCloud视频

http://study.163.com/course/introduction.htm?courseId=1004638001&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

à Spring Boot源码

https://gitee.com/happyangellxq520/spring-boot

à Spring Boot交流平台

http://412887952-qq-com.iteye.com/blog/2321532

 


 

 

 


在任何一个平台都逃离不了数据库的操作,那么在spring boot中怎么接入数据库呢?

很简单,我们需要在application.properties进行配置一下,application.properties路径是src/main/resources下,对于application.properties更多的介绍请自行百度进行查找相关资料进行查看,在此不进行过多的介绍,以下只是mysql的配置文件。

       大体步骤:

       (1)application.properties中加入datasouce的配置

       (2)pom.xml加入mysql的依赖。

    (3)获取DataSouceConnection进行测试。

 

src/main/resouces/application.properties

########################################################

###datasource

########################################################

spring.datasource.url = jdbc:mysql://localhost:3306/test

spring.datasource.username = root

spring.datasource.password = root

spring.datasource.driverClassName =com.mysql.jdbc.Driver

spring.datasource.max-active=20

spring.datasource.max-idle=8

spring.datasource.min-idle=8

spring.datasource.initial-size=10

 

pom.xml配置:

<dependency>

       <groupId>mysql</groupId>

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

</dependency>

到此相关配置就ok了,那么就可以在项目中进行测试了,我们可以新建一个class Demo进行测试,实体类创建完毕之后,我们可能需要手动进行编写建表语句,这时候我们可能就会想起Hibernate的好处了。那么怎么在spring boot使用Hibernate好的特性呢?So easy,具体怎么操作,请看下篇文章之JPA – Hibernate

Spring Boot 系列视频】

视频&交流平台:

à Spring Boot网易云课堂视频

http://study.163.com/course/introduction.htm?courseId=1004329008

à Spring Boot交流平台

http://412887952-qq-com.iteye.com/blog/2321532

 

网易云课堂视频最新更新

第十一章 Spring Boot 日志

1、spring boot日志—理论

2、Spring Boot日志-logback

3、Spring Boot日志-log4j2

第十二章 Spring Boot 知识点2

1、spring boot 服务配置和部署

2、Spring Boot 定制URL匹配规则

 

 

历史章节

 

第一章 快速开始

1、Spring Boot之Hello World

2、Spring Boot之Hello World访问404

 

第二章 Spring Boot之JSON

1、spring boot返回json数据

2、Spring Boot完美使用FastJson解析JSON数据

 

第三章 Spring Boot热部署

1、Spring Boot热部署(springloader)

2、springboot + devtools(热部署)

 

第四章 Spring Boot数据库

1、Spring Boot JPA/Hibernate/Spring Data概念

2、Spring Boot JPA-Hibernate

3、Spring Boot Spring Data JPA介绍

4、Spring Boot JdbcTemplate

5、Spring Boot集成MyBatis

 

第五章 web开发

1、全局异常捕捉

2、配置server信息

3、spring boot使用thymeleaf

4、Spring Boot 使用freemarker

5、Spring Boot添加JSP支持

 

第六章 定时任务

1、Spring Boot定时任务

2、Spring Boot 定时任务升级篇(动态修改cron参数)

3、Spring Boot 定时任务升级篇(动态添加修改删除定时任务)

4、Spring Boot 定时任务升级篇(集群/分布式下的定时任务说明)

5、Spring Boot Quartz介绍

6、Spring Boot Quartz在Java Project中使用

7、Spring Boot 集成Quartz普通使用

8、Spring Boot 集成Quartz升级版

9、Spring Boot 集成Quartz二次升级版

10、Spring Boot 集成Quartz-Job如何自动注入Spring容器托管的对象

 

第七章 Spring Boot MyBatis升级篇

1、Spring Boot MyBatis升级篇-注解

2、Spring Boot MyBatis升级篇-注解-自增ID

3、Spring Boot MyBatis升级篇-注解-增删改查

4、Spring Boot MyBatis升级篇-注解-分页查询

5、Spring Boot MyBatis升级篇-注解-分页PageHelper不生效

6、Spring Boot MyBatis升级篇-注解- mybatic insert异常:BindingException: Parameter 'name' not found

7、Spring Boot MyBatis升级篇-注解- #和$符号特别篇

8、Spring Boot MyBatis升级篇-注解-@Result

9、Spring Boot MyBatis升级篇-注解-动态SQL(if test)-方案一:<script>

10、Spring Boot MyBatis升级篇-注解-动态SQL(if test)-方案二:@Provider

11、Spring Boot MyBatis升级篇-注解-动态SQL-参数问题

12、Spring Boot MyBatis升级篇-注解-特别篇:@MapperScan和@Mapper

13、Spring Boot MyBatis升级篇-XML

14、Spring Boot MyBatis升级篇-XML-自增ID

15、Spring Boot MyBatis升级篇-XML-增删改查

16、Spring Boot MyBatis升级篇-XML-分页查询

17、Spring Boot MyBatis升级篇-XML-分页PageHelper不生效

18、Spring Boot MyBatis升级篇-XML-动态SQL(if test)

19、Spring Boot MyBatis升级篇-XML-注解-初尝试

20、Spring Boot MyBatis升级篇- pagehelper替换为pagehelper-spring-boot-starter

 

第八章 Spring Boot 知识点1

1、Spring Boot 拦截器HandlerInterceptor

2、Spring Boot启动加载数据CommandLineRunner

3、Spring Boot环境变量读取和属性对象的绑定

4、Spring Boot使用自定义的properties

5、Spring Boot使用自定义的properties

6、Spring Boot使用@SpringBootApplication

7、Spring Boot 监控和管理生产环境

 

第十章 Spring Boot 打包部署

1、Spring Boot打包部署((提供Linux的sh文件))

 

第十一章 Spring Boot 日志

1、spring boot日志—理论

2、Spring Boot日志-logback

 

3、Spring Boot日志-log4j2



<think>嗯,用户想从零开始Spring Boot,我需要给他一个清晰的习路径。首先,我得想想Spring Boot本身是什么,以及它的优势在哪里。Spring Boot是基于Spring框架的,简化了配置和部署,所以应该先介绍Spring的核心概念,比如IoC和AOP,这样用户有基础后再过渡到Spring Boot会更容易。 接下来,用户可能需要知道如何搭建开发环境。Java和Maven/Gradle是必须的,还有IDE的选择,比如IntelliJ IDEA或者Eclipse。创建一个简单的Hello World项目能帮助用户快速上手,体验Spring Boot的便利性。 然后,项目结构的部分,用户需要了解标准的目录布局,比如src/main/java和application.properties的作用。配置文件这一块,YAML和Properties文件的区别和使用场景也很重要,特别是如何通过配置覆盖默认设置。 控制层是Web应用的基础,要介绍@RestController和@RequestMapping注解,处理HTTP请求的方法。参数传递的方式,比如@PathVariable和@RequestParam,这些是开发API的关键点。 数据持久化部分,JPA和Hibernate的关系需要讲清楚,如何定义实体类和使用Repository接口。数据库配置,比如连接H2或MySQL,还有事务管理,这部分可能需要示例代码来演示。 RESTful API设计,符合规范的方法和状态码,Swagger的集成可以提升API的可维护性,用户可能对自动化文档工具感兴趣。 测试环节不容忽视,单元测试和集成测试的区别,MockMvc的使用,以及如何用JUnit和SpringBootTest来保证代码质量。 高级特性方面,自动配置原理、Starter的作用、Actuator监控,这些能帮助用户深入理解Spring Boot的内部机制,优化应用性能。 最后,部署和运维,打包成JAR/WAR,Docker化,以及结合Jenkins的CI/CD流程,这些都是实际项目中的必备技能。 习资源推荐官方文档、书籍和在线课程,建议用户通过实际项目练习,参与开源社区,持续关注更新。可能用户是刚入门的开发者,需要从基础到进阶的系统指导,避免一开始陷入复杂的配置中,保持习的兴趣和动力。需要确保步骤清晰,每个阶段都有明确的目标和示例,帮助用户逐步构建完整的知识体系。</think>### 从零Spring Boot 分步指南 #### 1. **前置知识准备** - **Java 基础** 掌握面向对象编程、集合框架、异常处理等,需熟悉 Java 8+ 特性(如 Lambda 表达式)。 - **Maven/Gradle** 了解依赖管理工具的基本使用,例如: ```xml <!-- Maven 依赖示例 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ``` - **HTTP 协议与 RESTful API** 理解 GET/POST 请求、状态码和资源表述格式(JSON/XML)。 #### 2. **Spring Boot 核心概念** - **核心优势** - 自动配置(Auto-Configuration) - 内嵌服务器(Tomcat/Jetty) - 简化依赖管理(Starter POMs) - **关键注解** `@SpringBootApplication`(启动类)、`@RestController`、`@Autowired` #### 3. **环境搭建** - **工具链安装** - JDK 11+ - IDE:IntelliJ IDEA(推荐)或 Eclipse + STS 插件 - 使用 [Spring Initializr](https://start.spring.io/) 生成项目骨架 - **第一个项目** 创建 `HelloController.java`: ```java @RestController public class HelloController { @GetMapping("/hello") public String hello() { return "Hello, Spring Boot!"; } } ``` 运行 `main` 方法后访问 `http://localhost:8080/hello` #### 4. **项目结构解析** - **标准目录** ``` src/ main/ java/ com.example.demo/ # 代码主目录 resources/ static/ # 静态资源 templates/ # 模板文件 application.yml # 配置文件 ``` #### 5. **数据访问实战** - **整合 JPA + MySQL** 1. 添加依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> ``` 2. 配置 `application.yml`: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/testdb username: root password: 123456 jpa: hibernate: ddl-auto: update ``` 3. 定义实体与 Repository: ```java @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; // getters/setters } public interface UserRepository extends JpaRepository<User, Long> {} ``` #### 6. **进阶技能路线** - **中间件集成** | 技术 | 实现方案 | |------------|---------------------------| | 缓存 | Redis + `@Cacheable` | | 消息队列 | RabbitMQ/Kafka | | 安全 | Spring Security + JWT | - **微服务架构** - 服务注册与发现:Eureka/Nacos - 配置中心:Spring Cloud Config - 网关:Spring Cloud Gateway #### 7. **调试与优化** - **常用工具** - Postman:API 测试 - Actuator:监控端点 `/actuator/health` - Lombok:简化 POJO 代码 - **性能调优** - 连接池配置(HikariCP) - JVM 参数优化 - 异步处理 `@Async` #### 8. **习资源推荐** - **官方文档** [Spring Boot Reference](https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/) - **书籍** 《Spring Boot 实战》《Spring 揭秘》 - **实战项目** - 博客系统(用户+文章+评论) - 电商秒杀系统(高并发场景) #### 附:核心原理图示 $$ \begin{aligned} &\text{Spring Boot 启动流程} \\ &1.\ \text{加载自动配置类} \\ &2.\ \text{创建 ApplicationContext} \\ &3.\ \text{执行 CommandLineRunner} \end{aligned} $$
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

悟纤

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

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

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

打赏作者

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

抵扣说明:

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

余额充值