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