从事一段时间Android的我,通常都是调用别人的接口来进行相关的开发,但是一直以来对于接口问题和后端开发的同学争吵不休,无法确定责任到底在谁,最终在这种情况下,我重新回到自己之前的Java开发,经过了两个小时的努力,完成了一个以springboot 为框架,其中集成了jpa,mysql的方式来完成。废话不多说了,直接上代码!
其中项目的依赖文件为 :
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-devtools
runtime
true
mysql
mysql-connector-java
runtime
org.springframework.boot
spring-boot-starter-test
test
,
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
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 = "注册失败";
} else {
result.code = 200;
result.data = user;
result.msg = "注册成功";
}
}
return result;
}
}
对于Controller中的各类注解解释如下:@RestController将返回数据自动格式化为json文件
br/>@RestController将返回数据自动格式化为json文件
@RequestParam 必传参数,
其他为非必传参数
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。