Spring Boot基础教程:使用spring-boot-jpa-mysql进行数据访问

1. 前言

本小节讲解的是,如何在Spring Boot中配置mysql连接,并用spring-data-jpa对pojo进行操作,存库。

2. 环境要求

使用环境参考Spring Boot基础教程汇总中的讲解:详情请点击

3. 快速开始

使用maven构建项目

  • 项目结构如下
└─src
    ├─main
    │  ├─java
    │  │  └─com
    │  │      └─qingtian
    │  │          ├─entity
    │  │          └─service
    │  └─resources
    └─test
        └─java
            └─com
                └─qingtian
  • pom.xml,特别注意spring-boot-starter-data-jpamysql-connector-java
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.qingtian</groupId>
    <artifactId>spring-boot-jpa-mysql</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>

    <name>spring-boot-jpa-mysql</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!-- JPA Data (We are going to use Repositories, Entities, Hibernate, etc...) -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <!-- Use MySQL Connector-J -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

代码详解

  • 创建数据库
mysql> create database db_example; -- Create the new database
  • 创建application.properties配置文件
    Spring Boot为我们准备了很多默认配置,比如默认数据库是H2。所以,如果我们需要其它数据库,就需要在application.properties中定义连接URLs

    src/main/resources/application.properties创建一个文件,并进行配置

spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://localhost:3306/db_example
spring.datasource.username=the name to login mysql
spring.datasource.password=the password to login mysql

spring.jpa.hibernate.ddl-auto有4个值,分别为noneupdatecreatecreate-drop

  none: 这是`MySQL`的默认值,不会对表结构有任何影响
  update: 会根据被标注为`@Entity`的实体的定义改变而改变表结构
  create: 每次执行操作便创建表,并且不会被删除
  create-drop:  每次操作都会创建表,但是,当`SessionFactory`关闭后便删除
  • 设计代码,步骤分别为设计UserUserRepositoryDemo(执行UserRepository的curd操作),因为上篇已经详细讲解过了,故不重复。还还了解的朋友可以看一下,传送门:使用spring-data-jpa-h2进行数据访问
  • 运行查看结果

    在程序的根目录下(与pom.xml同级),执行

    mvn spring-boot:run
    这里写图片描述
    这里写图片描述

4. 总结

至此,了解了如何在Spring Boot中配置mysql连接,并对数据库进行操作。

5. 附录

项目源码,欢迎star,本小节为spring-boot-jpa-mysqlhttps://github.com/mcrwayfun/spring-boot-learning

猜你喜欢

转载自blog.csdn.net/qingtian_1993/article/details/80298480