Spring Boot新增MySQL資料庫及JPA實例的範例程式碼分享

黄舟
發布: 2017-03-20 13:41:17
原創
1540 人瀏覽過

這篇文章主要介紹了Spring Boot 新增MySQL資料庫及JPA,小編覺得蠻不錯的,現在分享給大家,也給大家做個參考。一起跟著小編過來看看吧

最近在學習Spring Boot,繼續前面的學習,這次我們加入MySQL資料庫和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資料夾下新建,進行設定)檔案中新增數據進行設定:

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 !"; 
 
 } 
}
登入後複製

資料表(id定義為Integer):

Spring Boot新增MySQL資料庫及JPA實例的範例程式碼分享

#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); 
 
}
登入後複製

然後啟動專案:存取localhost:8081/swagger-ui.html

#結果:

Spring Boot新增MySQL資料庫及JPA實例的範例程式碼分享

方法我就不一一操作了。

以上是Spring Boot新增MySQL資料庫及JPA實例的範例程式碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!