Spring Boot 添加MySQL數(shù)據(jù)庫及JPA實例
最近在學(xué)習(xí)Spring Boot,繼續(xù)前面的學(xué)習(xí),這一次我們加入MySQL數(shù)據(jù)庫和JPA。
配置:
pom.xml文件
<!-- 添加Mysql和JPA--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
在Application.properties(在resource文件夾下新建,進行配置)文件中添加數(shù)據(jù)進行配置:
spring.datasource.url = jdbc:mysql://localhost:3306/spring_boot spring.datasource.username = root spring.datasource.password = root spring.datasource.driverClassName = com.mysql.jdbc.Driver # Specify the DBMS spring.jpa.database = MYSQL # Show or not log for each sql query spring.jpa.show-sql = true # Hibernate ddl auto (create, create-drop, update) spring.jpa.hibernate.ddl-auto = update # Naming strategy spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy # stripped before adding them to the entity manager) spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
User類
package com.seawater.bean;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
/**
* Created by zhouhs on 2016/12/30.
*/
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
private int age;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
UserController
package com.seawater.controller;
import com.seawater.Dao.UserDao;
import com.seawater.bean.User;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* Created by zhouhs on 2016/12/30.
*/
@RestController
@RequestMapping(value = "/user")
@Api(description = "用戶")
public class UserController {
@Resource
UserDao userDAO;
@ApiOperation(value = "添加用戶")
@ApiImplicitParams({
@ApiImplicitParam(name = "name" , value = "name" , paramType = "query" , required = true ),
@ApiImplicitParam(name = "age" , value = "age" , paramType = "query" , required = true )
})
@RequestMapping(value = "/addUser" , method = RequestMethod.POST)
public String addUser(@RequestParam(value = "name") String name,@RequestParam(value = "age") int age){
User user = new User();
user.setName(name);
user.setAge(age);
userDAO.save(user);
return "add user success !";
}
@ApiOperation(value = "查找用戶")
@ApiImplicitParam(name = "id" , value = "id" , paramType = "query" , required = true , dataType = "int")
@RequestMapping(value = "/findById" , method = RequestMethod.POST)
public String findById(@RequestParam(value = "id") Long id){
User user = userDAO.findById(id);
if(user == null){
return "error";
}else{
return "name:" + user.getName() + " , age:" + user.getAge();
}
}
@ApiOperation(value = "查詢所有用戶")
@RequestMapping(value = "/findAll" , method = RequestMethod.POST)
public Iterable findAll(){
Iterable<User> userList = userDAO.findAll();
return userList;
}
@ApiOperation(value = "刪除用戶")
@ApiImplicitParam(name = "id" , value = "id" , paramType = "query" , required = true , dataType = "int")
@RequestMapping(value = "/deleteById" , method = RequestMethod.POST)
public String deleteById(@RequestParam(value = "id") Long id){
userDAO.delete(id);
return "delete success !";
}
}
數(shù)據(jù)表(id定義為Integer):

UserDao:
package com.seawater.Dao;
import com.seawater.bean.User;
import org.springframework.data.repository.CrudRepository;
/**
* Created by zhouhs on 2016/12/30.
*/
public interface UserDao extends CrudRepository<User, Long> {
public User findById(Long id);
}
然后啟動項目:訪問http://localhost:8081/swagger-ui.html
結(jié)果:

方法我就不一一操作了。
源碼地址(項目中的源碼可能會更多哦,需要自己找到對應(yīng)源碼):SpringBootLearning_jb51.rar
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JPA之映射mysql text類型的問題
- Springboot2.0配置JPA多數(shù)據(jù)源連接兩個mysql數(shù)據(jù)庫方式
- Spring boot基于JPA訪問MySQL數(shù)據(jù)庫的實現(xiàn)
- 解決springboot的JPA在Mysql8新增記錄失敗的問題
- Spring Data Jpa Mysql使用utf8mb4編碼的示例代碼
- springboot使用spring-data-jpa操作MySQL數(shù)據(jù)庫
- Spring-Data-JPA整合MySQL和配置的方法
- SpringBoot連接MYSQL數(shù)據(jù)庫并使用JPA進行操作
- 在JPA項目啟動時如何新增MySQL字段
相關(guān)文章
帶你了解Java數(shù)據(jù)結(jié)構(gòu)和算法之遞歸
這篇文章主要為大家介紹了Java數(shù)據(jù)結(jié)構(gòu)和算法之遞歸,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01
java中switch條件語句的三種語法、用法及支持的參數(shù)類型
Java中的switch語句是一種多分支選擇結(jié)構(gòu),可以一個變量的值改變程序的控制流,這篇文章主要給大家介紹了關(guān)于java中switch條件語句的三種語法、用法及支持的參數(shù)類型的相關(guān)資料,需要的朋友可以參考下2024-06-06
springboot3請求參數(shù)種類及接口測試案例小結(jié)
這篇文章主要介紹了springboot3請求參數(shù)種類及接口測試案例小結(jié),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-10-10
Java中SimpleDateFormat日期格式轉(zhuǎn)換詳解及代碼示例
這篇文章主要介紹了Java中SimpleDateFormat日期格式轉(zhuǎn)換詳解及代碼示例,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12
完美解決在Servlet中出現(xiàn)一個輸出中文亂碼的問題
下面小編就為大家?guī)硪黄昝澜鉀Q在Servlet中出現(xiàn)一個輸出中文亂碼的問題。小編覺得挺不錯的現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01
java 操作gis geometry類型數(shù)據(jù)方式
這篇文章主要介紹了java 操作gis geometry類型數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
Spring?Security如何實現(xiàn)升級密碼加密方式詳解
這篇文章主要為大家介紹了Spring?Security實現(xiàn)升級密碼加密方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01

