1、配置文件
将配置文件拷贝下来,配置到当前的项目环境中,用maven管理依赖
需要找依赖 去maven网址 https://mvnrepository.com/
2、建立对应的pojo类
标准的pojo类 需要满足以下几个条件
1、所有成员变量需要使用private关键词私有化
2、为每一个成员变量编写get set方法
3、编写一个无参构造方法和全参构造方法
4、重写tostring方法
5、继承Serializable实现序列化
3、建立Mapper接口
UserMapper.xml
package com.qst.mapper;
import com.qst.pojo.User;
import org.apache.ibatis.annotations.Param;
public interface UserMapper {
public User finduser(int id);
public User finduserByName(String regusername);
public int addUser(@Param("username") String username,@Param("password") String password);
public User CheckLogin(@Param("username") String username,@Param("password") String password);
}
4、编写映射配置文件(在这里写sql语句)
UserMapper.xml(与接口类名字相同)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--映射约束-->
<!-- 映射文件,存放SQL
namespace是映射文件的唯一标志 在代码中需要被使用
-->
<!--映射标签 在这里写sql语句-->
<!--namespace 必须是对应接口的全限定类名-->
<mapper namespace="com.qst.mapper.UserMapper">
<select id="finduser" parameterType="int" resultType="com.qst.pojo.User">
select * from user where id=#{id}
</select>
<select id="finduserByName" parameterType="java.lang.String" resultType="User">
select * from user where username=#{username}
</select>
<insert id="addUser">
insert into user (id,username,password,role) values(null,#{username},#{password},1)
</insert>
<select id="CheckLogin" resultType="User">
select * from user where username=#{username} and password=#{password}
</select>
</mapper>
5、编写控制类
UserController.java
package com.qst.controller;
import com.qst.service.UserService;
import com.qst.util.JsonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/reg")
public String ToReg(){
return "register";
}
@RequestMapping("/login")
public String Tologin(){
return "login";
}
@PostMapping("/checkname")
@ResponseBody
public Map<String,Object> checkName(String regusername){
Map<String,Object> map=userService.checkUserName(regusername);
return map;
}
@PostMapping("/checkLohinname")
@ResponseBody
public Map<String,Object> checkLoginName(String username){
Map<String,Object> map=userService.checkUserName(username);
return map;
}
@PostMapping("/reguser")
@ResponseBody
public JsonResult RegUser(String regusername,String regpassword){
JsonResult jsonResult=userService.addUser(regusername,regpassword);
return jsonResult;
}
@PostMapping("/doLogin")
@ResponseBody
public JsonResult DoLogin(String username,String password){
JsonResult jsonResult=userService.doLogin(username,password);
return jsonResult;
}
}
6、编写业务层接口类
UserService.java
package com.qst.service;
import com.qst.pojo.User;
import com.qst.util.JsonResult;
import java.util.Map;
public interface UserService {
Map<String,Object> checkUserName(String regusername);
JsonResult addUser(String regusername, String regpassword);
JsonResult doLogin(String username, String password);
}
7、编写业务层 实现类
UserServiceImpl.java
package com.qst.serviceimpl;
import com.qst.exception.ServiceException;
import com.qst.mapper.UserMapper;
import com.qst.pojo.User;
import com.qst.service.UserService;
import com.qst.util.JsonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public Map<String, Object> checkUserName(String regusername) {
Map<String,Object> map=new HashMap<>();
User user = null;
if (user==null&&(regusername==null||regusername.equals(""))){
map.put("state",203);
map.put("msg","请输入用户名");
return map;
}
user = userMapper.finduserByName(regusername);
if (user==null&®username!=null&!regusername.equals("")){
map.put("state",202);
map.put("msg","用户名可以使用");
}else{
map.put("state",201);
map.put("msg","用户名已存在");
}
return map;
}
@Override
public JsonResult addUser(String regusername, String regpassword) {
User user=userMapper.finduserByName(regusername);
if (regusername==""||regusername.equals("")){
throw new ServiceException("用户名不能为空");
// return new JsonResult(2,"用户名不能为空");
}
if (regpassword==""||regpassword.equals("")){
throw new ServiceException("密码不能为空");
// return new JsonResult(2,"密码不能为空");
}
if (user!=null){
throw new ServiceException("该用户已经被注册");
// return new JsonResult(2,"该用户已经被注册");
}
int i = userMapper.addUser(regusername, regpassword);
if (i==1){
return new JsonResult(1,"注册成功");
}else{
return new JsonResult(2,"注册失败");
}
}
@Override
public JsonResult doLogin(String username, String password) {
User user = userMapper.CheckLogin(username, password);
if (user==null){
throw new ServiceException("用户名或密码错误");
}else{
if (user.getRole()==0){
return new JsonResult(100,"管理员登录成功",user);
}
return new JsonResult(1,"用户登录成功",user);
}
}
}