spring boot 工程实例
项目目录如下所示
- util层,用来编写返回前端数据的模板
- 比如Response.java
package com.zoo.hello.util;
public class Response {
private int code;
private String msg;
private Object data;
public Response(int code, String msg, Object data) {
this.code = code;
this.msg = msg;
this.data = data;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
}
- Entity层,存放实体类
- 比如User.java
package com.zoo.hello.Entity;
public class User {
private String userid;
private String pw;
private String mpn;
private String email;
private String sysID;
private int invitecode;
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getPw() {
return pw;
}
public void setPw(String pw) {
this.pw = pw;
}
public String getMpn() {
return mpn;
}
public void setMpn(String mpn) {
this.mpn = mpn;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getSysID() {
return sysID;
}
public void setSysID(String sysID) {
this.sysID = sysID;
}
public int getInvitecode() {
return invitecode;
}
public void setInvitecode(int invitecode) {
this.invitecode = invitecode;
}
}
- dao层,用来进行数据库方面的操作
- 比如UserDAO.java
package com.zoo.hello.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
@Repository
public class UserDAO{
@Autowired
private JdbcTemplate jdbcTemplate;
private final String FIND_USER_BY_NAME_AND_PWD = "SELECT * FROM user WHERE userid = ? AND pw =?";
//登录
public boolean findUserByNameAndPwd(String name, String pwd){
List<Map<String,Object>> userList = jdbcTemplate.queryForList(FIND_USER_BY_NAME_AND_PWD,new Object[]{
name,pwd});
if (userList!=null && userList.size()==1){
return true;
}else {
return false;
}
}
}
- controller层,用来进行前后端数据交互
- 比如UserController.java
package com.zoo.hello.controller;
import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import com.github.qcloudsms.httpclient.HTTPException;
import com.zoo.hello.dao.InviteCodeDAO;
import com.zoo.hello.dao.UserDAO;
import com.zoo.hello.util.Response;
import org.json.JSONException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.IOException;
import java.util.Random;
@CrossOrigin()//跨域
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserDAO userDAO;
//登录api
@PostMapping("/login")
public Object login(String name, String passwd){
if (StringUtils.isEmpty(name) == false
&& StringUtils.isEmpty(passwd) == false){
boolean flag = userDAO.findUserByNameAndPwd(name,passwd);
if (flag){
//todo: 登录之后的动作
return new Response(0,"ok","");
}else {
return new Response(-1,"用户名或密码错误","");
}
}
else {
return new Response(-2,"参数错误","");
}
}
}