從事一段時間Android的我,一般都是調用別人的接口來進行相關的開發,可是一直以來對於接口問題和後端開發的同窗爭吵不休,沒法肯定責任到底在誰,最終在這種狀況下,我從新回到本身以前的Java開發,通過了兩個小時的努力,完成了一個以springboot 爲框架,其中集成了jpa,mysql的方式來完成。廢話很少說了,直接上代碼!
其中項目的依賴文件爲 :
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>java
<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=updatemysql
bean 文件爲:web
@Entity
public class User {br/>@Column
@Idbr/>@GeneratedValue()
int id;br/>@Column
public String userID;br/>@Column
public String name;br/>@Column
public String password;br/>@Column
public String userName;br/>@Column
public String nikeName;br/>@Column
public int age;br/>@Column
public String address;br/>@Email
@Column
public String Email;br/>@Column
String birthday;br/>@Column
public String userType;br/>@Column
public String userRule;br/>@Column
public String phoneNum;br/>@Column
public String userAccount;spring
}
JPA :sql
public interface UserJpa extends JpaRepository<User, String> {
long countUserByPhoneNum(String phoneNum);
}json
Controller:br/>@RestController
public class UserController {br/>@Autowired
UserJpa userJpa;後端
@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 = "註冊失敗"; } else { result.code = 200; result.data = user; result.msg = "註冊成功"; } } return result; }
}springboot
對於Controller中的各種註解解釋以下:br/>@RestController將返回數據自動格式化爲json文件
@RequestMapping 請求路徑
@RequestParam 必傳參數,
其餘爲非必傳參數app