Spring Boot 8.連接MySQL數據庫
阿新 • • 發佈:2019-04-09
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數據庫