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

服務器之家:專注于服務器技術及軟件下載分享
分類導航

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

服務器之家 - 編程語言 - Java教程 - Spring Boot Mysql 數據庫操作示例

Spring Boot Mysql 數據庫操作示例

2020-08-19 11:22空心菜的愛 Java教程

本篇文章主要介紹了Spring Boot Mysql 數據庫操作示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文默認你的開發環境.數據庫已經安裝好

想用使用數據庫.我們需要現在pom文件中添加相應的依賴

pom.xml

?
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
 
  <groupId>com.imgod</groupId>
  <artifactId>testjpa</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
 
  <name>TestJpa</name>
  <description>Demo project for Spring Boot</description>
 
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.2.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
  </parent>
 
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
  </properties>
 
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
 
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    <!-- 添加Hibernate依賴 -->
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
    </dependency>
  </dependencies>
 
  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
 
 
</project>

我們的配置文件進行數據庫的配置

application.properties:

?
1
2
3
4
5
6
7
8
9
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test
spring.datasource.username=root
spring.datasource.password=imgod1
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.max-idle=10
spring.datasource.max-wait=10000
spring.datasource.min-idle=5
spring.datasource.initial-size=5
spring.jpa.properties.hibernate.hbm2ddl.auto=update

前面配置的是數據庫信息,最后一行配置的是.如果我們定義的實體在數據庫中沒有對應的表的話.會幫我們自動創建

我們的實體類型

User.Java

?
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package com.imgod.bean;
 
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
 
@Entity
@Table(name = "users")
public class User {
  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  private int id;
  @NotNull
  private String email;
  @NotNull
  private String name;
 
  public int getId() {
    return id;
  }
 
  public void setId(int id) {
    this.id = id;
  }
 
  public String getEmail() {
    return email;
  }
 
  public void setEmail(String email) {
    this.email = email;
  }
 
  public String getName() {
    return name;
  }
 
  public void setName(String name) {
    this.name = name;
  }
 
}

對應數據庫中的user表,沒有的話會自動創建

想對數據庫進行操作,我們需要創建一個接口繼承CrudRepository

UserDao.java

?
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
27
28
29
30
package com.imgod.dao;
 
import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
 
import com.imgod.bean.User;
import java.lang.String;
import java.util.List;
 
@Transactional
@Repository
public interface UserDao extends CrudRepository<User, Integer> {
  //jpa 方法名就是查詢語句,只要規法寫方法名一切就都可以完成(當然.有時候會造成方法名又臭又長)
  User findByEmail(String email);//根據郵箱查詢
  List<User> findByName(String name);//根據用戶名查詢
   
  //select * from test.users where email='[email protected]' and name='imgod';
  List<User> findByNameAndEmail(String name,String email);//根據用戶名和郵箱進行查詢
   
  //select * from test.users where email='[email protected]' and name='imgod4444' order by id desc;
  List<User> findByNameAndEmailOrderByIdDesc(String name,String email);//根據用戶名和郵箱進行查詢,排序
   
  //select * from test.users where email='[email protected]' and name='imgod4444' order by id desc limit 2;
  List<User> findTop2ByNameAndEmailOrderByIdDesc(String name,String email);//根據用戶名和郵箱進行查詢,排序,前兩個
 
  //根據郵箱進行分頁查詢
  List<User> findByEmail(String email,Pageable pageable);//根據用戶名和郵箱進行查詢
}

實現CrudRepository我們就可以對數據庫進行一些基礎操作了

如果我們想要實現更多的操作.需要自己按照嚴格的命名規則為方法定義方法名

下面就是我們重要的控制器的實現了:

?
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
package com.imgod.controller;
 
import java.util.List;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
import com.imgod.bean.User;
import com.imgod.dao.UserDao;
 
@RestController
public class UserController {
  @Autowired
  private UserDao userDao;
 
  /**
   * 根據郵件去查找
   *
   * @param email
   * @return
   */
  @RequestMapping(value = "/findUserByEmail")
  public Object getUserByEmail(String email) {
    System.out.println("email:" + email);
    User user = userDao.findByEmail(email);
    if (null == user) {
      return "暫無數據";
    } else {
      return user;
    }
 
  }
 
  /**
   * 獲取所有的用戶信息
   *
   * @return
   */
  @RequestMapping(value = "/getall")
  public Object getAllUser() {
    List<User> list = (List<User>) userDao.findAll();
    if (null == list || list.size() == 0) {
      return "暫無數據";
    } else {
      return list;
    }
 
  }
 
  /**
   * 刪除指定id用戶
   *
   * @param id
   * @return
   */
  @RequestMapping(value = "/deleteUser")
  public Object deleteuUser(int id) {
    User user = userDao.findOne(id);
    if (null == user) {
      return "刪除用戶失敗:" + id + "沒找到該用戶";
    } else {
      userDao.delete(id);
      return "刪除用戶成功:" + id;
    }
 
  }
 
  /**
   * 添加用戶
   *
   * @param id
   * @param email
   * @param name
   * @return
   */
  @RequestMapping(value = "/adduser")
  public Object addUser(String id, String email, String name) {
    System.out.println("email:" + email);
 
    int tempId = Integer.parseInt(id);
    System.out.println("tempId:" + tempId + "email:" + email + "name:" + name);
 
    User tempUser = userDao.findOne(tempId);
    if (null == tempUser) {
      tempUser = new User();
      tempUser.setId(tempId);
    }
    tempUser.setEmail(email);
    tempUser.setName(name);
    User resultUser = userDao.save(tempUser);
    if (null == resultUser) {
      return "新增用戶失敗";
    } else {
      return "新增用戶:" + resultUser.getName();
    }
 
  }
 
  // 條件查詢
 
  /**
   * 獲取姓名和郵箱是指定內容的用戶
   *
   * @return
   */
  @RequestMapping(value = "/getUser1")
  public Object getUser(String email, String name) {
    List<User> userList = userDao.findByNameAndEmail(name, email);
    if (null != userList && userList.size() != 0) {
      return userList;
    } else {
      return "沒找到符合要求的用戶";
    }
 
  }
 
  /**
   * 獲取姓名和郵箱是指定內容的用戶并排序
   *
   * @return
   */
  @RequestMapping(value = "/getUser2")
  public Object getUser2(String email, String name) {
    List<User> userList = userDao.findByNameAndEmailOrderByIdDesc(name, email);
    if (null != userList && userList.size() != 0) {
      return userList;
    } else {
      return "沒找到符合要求的用戶";
    }
 
  }
 
  /**
   * 獲取姓名和郵箱是指定內容的用戶并排序,前兩個
   *
   * @return
   */
  @RequestMapping(value = "/getUser3")
  public Object getUser3(String email, String name) {
    List<User> userList = userDao.findTop2ByNameAndEmailOrderByIdDesc(name, email);
    if (null != userList && userList.size() != 0) {
      return userList;
    } else {
      return "沒找到符合要求的用戶";
    }
 
  }
 
  /**
   * 分頁獲取郵箱為指定內容的數據
   *
   * @return
   */
  @RequestMapping(value = "/getUser4")
  public Object getUser4(String email, int page) {
    // page 屬于下標 從0開始 0代表是第一頁
    List<User> userList = userDao.findByEmail(email, new PageRequest(page, 2));
    if (null != userList && userList.size() != 0) {
      return userList;
    } else {
      return "沒找到符合要求的用戶";
    }
 
  }
}

如此我們就完成了對數據庫的操作:

Spring Boot Mysql 數據庫操作示例

Spring Boot Mysql 數據庫操作示例

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

原文鏈接:http://blog.csdn.net/u010399316/article/details/53420532

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 操大爷影院 | 精品久久久久免费极品大片 | 国产女主播在线播放一区二区 | 日本漫画工囗全彩内番e绅 日本伦理动漫在线观看 | 男人日女人p | 亚洲国产成人久久综合一区77 | 九九99香蕉在线视频免费 | 亚洲国产免费观看视频 | 日韩精品视频美在线精品视频 | 午夜精品久久久久久久99蜜桃 | 亚洲天堂免费观看 | 久久久精品国产免费A片胖妇女 | 草莓丝瓜芭乐樱桃榴莲色多黄 | 啪啪免费网址 | 日韩手机在线观看 | 男人狂躁女人gif动态图 | 国产免费又粗又猛又爽视频国产 | 亚洲精品乱码久久久久久蜜桃 | 色导行| 大杳蕉在线影院在线播放 | 国产精品视频久久 | 美女露奶奶 | 久久视频精品3线视频在线观看 | 国产日韩欧美在线观看不卡 | 国产一级视频在线观看 | 日韩影院在线观看 | 操久久| 青青国产成人久久激情91麻豆 | 色久激情 | 国产精品一二区 | 国产亚洲欧美日韩综合综合二区 | 精品国产免费第一区二区三区日韩 | 四虎在线最新永久免费 | 操女人的b | 日韩精品亚洲专区在线影视 | 国内永久第一免费福利视频 | 欧美特一级 | 亚洲天堂网在线观看视频 | 欧美人曾交 | 国产v在线播放 | 九九九九在线视频播放 |