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

<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.0modelVersion>

    <groupId>com.qingtiangroupId>
    <artifactId>spring-boot-jpa-mysqlartifactId>
    <version>1.0version>
    <packaging>jarpackaging>

    <name>spring-boot-jpa-mysqlname>
    <description>Demo project for Spring Bootdescription>

    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>2.0.0.RELEASEversion>
        <relativePath/> 
    parent>

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

    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starterartifactId>
        dependency>

        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>

        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-data-jpaartifactId>
        dependency>

        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
        dependency>

    dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
            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
    Spring Boot基础教程:使用spring-boot-jpa-mysql进行数据访问_第1张图片
    Spring Boot基础教程:使用spring-boot-jpa-mysql进行数据访问_第2张图片

4. 总结

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

5. 附录

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

你可能感兴趣的:(spring-boot,Spring,Boot,基础教程)