欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解在Spring Boot中使用Mysql和JPA

 更新時間:2017年04月18日 11:36:54   作者:qiyadeng  
本文向你展示如何在Spring Boot的Web應用中使用Mysq數(shù)據庫,也充分展示Spring Boot的優(yōu)勢

本文向你展示如何在Spring Boot的Web應用中使用Mysq數(shù)據庫,也充分展示Spring Boot的優(yōu)勢(盡可能少的代碼和配置)。數(shù)據訪問層我們將使用Spring Data JPA和Hibernate(JPA的實現(xiàn)之一)。

1.Maven pom.xml文件

在你的項目中增加如下依賴文件

<dependencies>
 <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
 </dependency>
 <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-jpa</artifactId>
 </dependency>
 <dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
 </dependency>
</dependencies>

2.屬性配置文件application.properties

在src/main/resources/application.properties中設置數(shù)據源和jpa配置。

spring.datasource.url = jdbc:mysql://localhost:3306/test
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

全部的配置都在如上的文件中了,不需要另外的XML配置和Java配置。

上文中的數(shù)據庫配置,你需要換成你的數(shù)據庫的地址和用戶名密碼。

hibernate的ddl-auto=update配置表名,數(shù)據庫的表和列會自動創(chuàng)建(根據Java實體的熟悉), 這里 可以看到更多得hibernate配置。

3.User實體

創(chuàng)建一個User實體,User包含三個屬性id,email和name。User實體和Mysql數(shù)據庫的users表相對應。

@Entity
@Table(name = "users")
public class User {
 // ==============
 // PRIVATE FIELDS
 // ==============
 // An autogenerated id (unique for each user in the db)
 @Id
 @GeneratedValue(strategy = GenerationType.AUTO)
 private long id;
 // The user email
 @NotNull
 private String email;
 // The user name
 @NotNull
 private String name;
 // ==============
 // PUBLIC METHODS
 // ==============
 public User() { }
 public User(long id) {
  this.id = id;
 }
 // Getter and setter methods
 // ...
} // class User

4.User實體的數(shù)據訪問層UserDao

本例中UserDao非常簡單,只需要繼承CrudRespositroy即可,CrudRespositroy已經實現(xiàn)了save,delete,deleteAll,findOne和findAll.(比較神奇的時這些方法其實CrudRespositroy中其實并沒有實現(xiàn),并且通過對dao方法的命名還可以實現(xiàn)新的方法)

@Transactional
public interface UserDao extends CrudRepository<User, Long> {
 public User findByEmail(String email);
} 

5.測試的控制器UserController

新建一個查詢控制器UserController

@Controller
public class UserController {
  @RequestMapping("/get-by-email")
  @ResponseBody
  public String getByEmail(String email) {
   String userId;
   User user = userDao.findByEmail(email);
   if (user != null) {
    userId = String.valueOf(user.getId());
    return "The user id is: " + userId;
   }
   return "user " + email + " is not exist.";
  }
 }

你可以使用瀏覽器訪問url http://127.0.0.1:8080/get-by-email?email=qiyadeng@gmail.com,可以獲得用戶的Id(你可以先在Mysql數(shù)據庫中新增一條記錄)。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • MybatisPlus?QueryWrapper常用方法實例

    MybatisPlus?QueryWrapper常用方法實例

    MyBatis-Plus(opens new window)是一個MyBatis(opens new window)的增強工具,在 MyBatis的基礎上只做增強不做改變,為簡化開發(fā)、提高效率而生,下面這篇文章主要給大家介紹了關于MybatisPlus?QueryWrapper常用方法的相關資料,需要的朋友可以參考下
    2022-04-04
  • Java之操作Redis案例講解

    Java之操作Redis案例講解

    這篇文章主要介紹了Java之操作Redis案例講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • Java 封裝基礎知識

    Java 封裝基礎知識

    這篇文章主要介紹了Java 封裝的相關資料,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • Java SerialVersionUID作用詳解

    Java SerialVersionUID作用詳解

    這篇文章主要介紹了Java SerialVersionUID作用詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • Java-IO流實驗

    Java-IO流實驗

    流是一種抽象概念,它代表了數(shù)據的無結構化傳遞。。用來進行輸入輸出操作的流就稱為IO流。換句話說,IO流就是以流的方式進行輸入輸出,希望能給您帶來幫助
    2021-06-06
  • java實現(xiàn)學生教師管理系統(tǒng)

    java實現(xiàn)學生教師管理系統(tǒng)

    這篇文章主要為大家詳細介紹了java實現(xiàn)學生教師管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • 基于Jenkins自動打包并部署docker環(huán)境的操作過程

    基于Jenkins自動打包并部署docker環(huán)境的操作過程

    這篇文章主要介紹了基于Jenkins自動打包并部署docker環(huán)境,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • Java實現(xiàn)學生成績管理系統(tǒng)

    Java實現(xiàn)學生成績管理系統(tǒng)

    這篇文章主要為大家詳細介紹了Java實現(xiàn)學生成績管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • 如何開啟控制臺輸出mybatis執(zhí)行的sql日志問題

    如何開啟控制臺輸出mybatis執(zhí)行的sql日志問題

    這篇文章主要介紹了如何開啟控制臺輸出mybatis執(zhí)行的sql日志問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Java調用瀏覽器打開網頁完整實例

    Java調用瀏覽器打開網頁完整實例

    這篇文章主要介紹了Java調用瀏覽器打開網頁的方法,以完整實例形式分析了java打開網頁的相關技巧,需要的朋友可以參考下
    2015-05-05

最新評論