本文介绍了 Spring boot 项目如何访问 Mysql 数据库,插入和查询 Mysql 数据。
需要这些依赖
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
社区版的 IDEA 可以参考 《社区版 IntelliJ IDEA 如何创建Spring boot项目》
旗舰版的 IDEA 安装 spring initializr 后创建 Spring boot
src/main/resources/application.properties
spring.jpa.hibernate.ddl-auto=update spring.datasource.url=jdbc:mysql://172.23.176.3:3306/test spring.datasource.username=test spring.datasource.password=test spring.datasource.driver-class-name =com.mysql.jdbc.Driver
src/main/java/com/example/demo/accessingdatamysql/User.java
package com.example.demo.accessingdatamysql; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Integer id; private String name; private String email; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }
src/main/java/com/example/demo/accessingdatamysql/UserRepository.java
package com.example.demo.accessingdatamysql; import org.springframework.data.repository.CrudRepository; public interface UserRepository extends CrudRepository<User, Integer> { }
src/main/java/com/example/demo/accessingdatamysql/MainController.java
package com.example.demo.accessingdatamysql; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @Controller @RequestMapping(path="/demo") public class MainController { @Autowired private UserRepository userRepository; @PostMapping(path="/add") public @ResponseBody String addNewUser(@RequestParam String name, @RequestParam String email){ User user = new User(); user.setName(name); user.setEmail(email); userRepository.save(user); return "Saved"; } @GetMapping(path = "/all") public @ResponseBody Iterable<User> getAllUsers() { return userRepository.findAll(); } }
src/main/java/com/example/demo/accessingdatamysql/AccessingDataMysqlApplication.java
package com.example.demo.accessingdatamysql; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class AccessingDataMysqlApplication { public static void main(String[] args) { SpringApplication.run(AccessingDataMysqlApplication.class,args); } }