溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Springboot 集成JPA 完成接口demo

發(fā)布時(shí)間:2020-04-03 02:16:06 來源:網(wǎng)絡(luò) 閱讀:257 作者:飛指 欄目:編程語言

從事一段時(shí)間Android的我,通常都是調(diào)用別人的接口來進(jìn)行相關(guān)的開發(fā),但是一直以來對(duì)于接口問題和后端開發(fā)的同學(xué)爭吵不休,無法確定責(zé)任到底在誰,最終在這種情況下,我重新回到自己之前的Java開發(fā),經(jīng)過了兩個(gè)小時(shí)的努力,完成了一個(gè)以springboot 為框架,其中集成了jpa,mysql的方式來完成。廢話不多說了,直接上代碼!
其中項(xiàng)目的依賴文件為 :
<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-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
            ,
            application.properties  的配置文件為:

spring.datasource.url=jdbc:mysql://localhost:3306/zhiteng?characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#配置JPA
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update

bean 文件為:

@Entity
public class User {@Column
br/>@Column
br/>@GeneratedValue()
br/>@Column
br/>@Column
br/>@Column
br/>@Column
br/>@Column
br/>@Column
br/>@Column
br/>@Email
public String Email;@Column
br/>@Column
br/>@Column
br/>@Column
br/>@Column
br/>@Column

}
JPA :

public interface UserJpa extends JpaRepository<User, String> {
long countUserByPhoneNum(String phoneNum);
}

Controller:@RestController
br/>@RestController
br/>@Autowired

@RequestMapping(value = register)
public Result register(@RequestParam("userName") String userName, @RequestParam("password") String password, String address, int age, String name,
                       String userAccount, String Email, @RequestParam("userPhone") String userPhone, String nikeName) {
    Result result = new Result();
    long tag = userJpa.countUserByPhoneNum(userPhone);
    if (tag > 0) {
        result.code = 201;
        result.msg = "用戶已存在,可以直接登錄";
    } else {
        User user = new User();
        user.userID = SerialUtils.getUserId();
        user.name = name;
        if (StringUtils.isEmpty(userAccount)) {
            user.userAccount = userName;
        } else {
            user.userAccount = userAccount;
        }
        user.phoneNum = userPhone;
        user.password = MyMD5Util.getMD5(password);
        if (StringUtils.isEmpty(nikeName)) {
            user.nikeName = "zhiteng" + userPhone.substring(userPhone.length() - 4);
        } else {
            user.nikeName = nikeName;
        }
        user.userName = userName;
        if (StringUtils.isEmpty(address)) {
            user.address = "陜西,渭南";
        } else {
            user.address = address;
        }
        user.age = age;
        user.Email = Email;
        user.userType = UserType.common;
        user.userRule = UserRule.user;
        User u = userJpa.save(user);
        if (null == u) {
            result.code = 202;
            result.data = user;
            result.msg = "注冊(cè)失敗";
        } else {
            result.code = 200;
            result.data = user;
            result.msg = "注冊(cè)成功";
        }
    }
    return result;
}

}

對(duì)于Controller中的各類注解解釋如下:@RestController將返回?cái)?shù)據(jù)自動(dòng)格式化為json文件
br/>@RestController將返回?cái)?shù)據(jù)自動(dòng)格式化為json文件
@RequestParam 必傳參數(shù),
其他為非必傳參數(shù)

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI