1. 程式人生 > >Spring Boot 8.連接MySQL數據庫

Spring Boot 8.連接MySQL數據庫

ots artifact ati 刪除 localhost autowire fin cti vax

官方教程:https://spring.io/guides/gs/accessing-data-mysql/

首先配置:

        <!-- 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>

在application.properties配置sql連接:

# 在這裏,spring.jpa.hibernate.ddl-auto可以是none,update,create,create-drop,請參閱Hibernate文檔,了解詳細信息。
# none這是默認設置MySQL,不會更改數據庫結構。
# update Hibernate根據給定的Entity結構更改數據庫。
# create 每次都創建數據庫,但不要在關閉時刪除它。
# create
-drop創建數據庫,然後在SessionFactory關閉時刪除它。 # 我們在這裏開始是create因為我們還沒有數據庫結構。 # 第一次運行後,我們可以將其切換到update或none根據程序要求。update當您想對數據庫結構進行一些更改時使用。 spring.jpa.hibernate.ddl-auto=create spring.datasource.url=jdbc:mysql://localhost:3306/SpringBootStudy spring.datasource.username=root spring.datasource.password=12345678

配置表的實體類,運行時,如果選擇create,則spring boot 會自動在mysql中創建對應的表

package com.example.springbootstudy.database;

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

@Entity
public class Users {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;
    private String phone;
    private String nickname;
    private String personalSign;
    private String sex;
    private String realName;
    private String personalId;
    private java.sql.Timestamp createTime;
    private java.sql.Timestamp updateTime;

    //省略get set方法
        
}

由Spring Boot自動創建的表

技術分享圖片

創建Repository:

package com.example.springbootstudy.database;

import org.springframework.data.repository.CrudRepository;

import java.util.List;

public interface UserRepository extends CrudRepository<Users, Integer> {

    List<Users> findByNickname(String nickname);
}

測試:

    @Autowired
    private UserRepository userRepository; 

   @GetMapping("saveUser")
    public String saveUser(@RequestParam String phone, @RequestParam String nickname) {
        Users users = new Users();
        users.setPhone(phone);
        users.setNickname(nickname);
        userRepository.save(users);
        return "Success";
    }

    @GetMapping("getUsersByNickname")
    public List<Users> getUsersByNickname(@RequestParam String nickname) {
        return userRepository.findByNickname(nickname);
    }

Spring Boot 8.連接MySQL數據庫