Spring Boot 添加MySQL數(shù)據(jù)庫及JPA實例
最近在學習Spring Boot,繼續(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
結果:

方法我就不一一操作了。
源碼地址(項目中的源碼可能會更多哦,需要自己找到對應源碼):SpringBootLearning_jb51.rar
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- 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字段
相關文章
Java多線程場景解析volatile和AtomicLong區(qū)別原理
這篇文章主要為大家介紹了Java中volatile和AtomicLong的區(qū)別原理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09
JavaWeb使用Cookie模擬實現(xiàn)自動登錄功能(不需用戶名和密碼)
不需要填寫用戶名和密碼自動登錄系統(tǒng),其實現(xiàn)思路使用cookie模擬瀏覽器自動登錄,對cookie實現(xiàn)自動登錄功能感興趣的朋友一起學習吧2016-08-08
Java處理字節(jié)類型數(shù)據(jù)的實現(xiàn)步驟
字節(jié)(Byte)是計算機信息技術用于計量存儲容量的一種基本單位,通常簡寫為B,在ASCII編碼中1Byte可以表示一個標準的英文字符,包括大寫字母、小寫字母、數(shù)字、標點符號和控制字符等,本文給大家介紹了Java如何優(yōu)雅的處理字節(jié)類型數(shù)據(jù),需要的朋友可以參考下2024-07-07
SpringBoot項目中分頁插件PageHelper無效的問題及解決方法
這篇文章主要介紹了解決SpringBoot項目中分頁插件PageHelper無效的問題,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06
SpringBoot項目中jar發(fā)布獲取jar包所在目錄路徑的最佳方法
在開發(fā)過程中,我們經(jīng)常要遇到上傳圖片、word、pdf等功能,但是當我們把項目打包發(fā)布到服務器上時,對應的很多存儲路徑的方法就會失效,下面這篇文章主要給大家介紹了關于SpringBoot項目中jar發(fā)布獲取jar包所在目錄路徑的相關資料2022-07-07

