一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - 詳解在Spring Boot中使用Mysql和JPA

詳解在Spring Boot中使用Mysql和JPA

2020-09-13 12:10qiyadeng Java教程

本文向你展示如何在Spring Boot的Web應(yīng)用中使用Mysq數(shù)據(jù)庫,也充分展示Spring Boot的優(yōu)勢(shì)

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

1.Maven pom.xml文件

在你的項(xiàng)目中增加如下依賴文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<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è)置數(shù)據(jù)源和jpa配置。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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ù)據(jù)庫配置,你需要換成你的數(shù)據(jù)庫的地址和用戶名密碼。

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

3.User實(shí)體

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@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í)體的數(shù)據(jù)訪問層UserDao

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

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

5.測(cè)試的控制器UserController

新建一個(gè)查詢控制器UserController

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@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/[email protected],可以獲得用戶的Id(你可以先在Mysql數(shù)據(jù)庫中新增一條記錄)。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://www.tuicool.com/articles/zEz2QrY

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: bt国产| 国产三级自拍 | 任你操视频在线观看 | 天天爱天天操天天射 | 男人午夜剧场 | 莫莉瑞典1977k| 国产一区风间由美在线观看 | 国产老熟 | 嫩草蜜桃| 精品久久久久久 | 四虎精品免费国产成人 | 变态人shou交小说 | 2021精品国夜夜天天拍拍 | 亚州精品视频 | s8017加密路线免费 | 青青草国产免费国产是公开 | 欧美日韩精品一区二区三区高清视频 | 国产资源免费 | 国产一区二区三区久久小说 | 亚洲一区二区精品推荐 | 美日毛片| 1919gogo女厕盗摄 | 日韩夫妻性生活 | 亚洲国产成人精品激情 | 久久毛片网站 | 91久久精品青青草原伊人 | 亚洲欧美日韩国产精品影院 | 五月色天在线视频综合观看 | 亚洲福利在线观看 | 欧美日韩专区国产精品 | 人人精品久久 | 欧美精品一二三区 | 污漫日本E同人 | 久草在在线免视频在线观看 | 国产欧美精品一区二区三区–老狼 | 国产精品视频一区二区三区不卡 | 成人私人影院www片免费高清 | 娇妻与公陈峰姚瑶小说在线阅读 | 国产精品久久久久久久久ktv | 丝袜足控免费网站xx动漫漫画 | 99re视频精品全部免费 |