Spring Boot 8.连接MySQL数据库

官方教程: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);
    }

猜你喜欢

转载自www.cnblogs.com/hbolin/p/10676595.html