首先打开idea创建项目搭建框架。
登陆平台功能 需要验证账号密码 而且有三种状态 登陆成功/账号不存在或账号错误/密码错误
判断账号是否存在 需要查询全部账号
然后进行查找判断
配置sql语句的 UserinfoMapper.xml
SQL语句需要开发者自定义,这里面就是配置sql语句的文件,sql语句都写这里面!!!
<?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" >
<mapper namespace="com.gongmao.dao.IUserInfoDao" >
<!--登陆-->
<select id="doLogin" parameterType="String" resultType="com.gongmao.bean.UserInfo">
select * from tb_user where username=#{username}
</select>
<!--全部查询-->
<select id="findAll" resultType="com.gongmao.bean.UserInfo">
select * from tb_user
</select>
</mapper>
接下来开始写Java部分了!!!
- 数据库访问层(这里我使用了查询结果的分页,关于分页插件的使用方法请听下回分解)
public interface IUserInfoDao {
//验证登陆
//查询Select
UserInfo doLogin(String username);
//全部查询
List<UserInfo> findAll();
- 业务逻辑层
public interface IUserInfoService {
//登陆
UserInfo doLogin(String username);
//全部查询
List<UserInfo> findAll(Integer page,Integer size);
- UserInfoServiceImpl
@Service
public class UserInfoServiceImpl implements IUserInfoService {
//通过对象名
//@Resource(name="u1")
// 通过类名去注入
@Autowired
private IUserInfoDao userInfoDao;
//登陆
@Override
public UserInfo doLogin(String username) {
return userInfoDao.doLogin(username);
}
//分页查询
@Override
public List<UserInfo> findAll(Integer page,Integer size) {
PageHelper.startPage(page,size);
return userInfoDao.findAll();
}
- 表现层/控制器
@Controller
@RequestMapping("/user")
public class UserInfoController {
@Autowired
private IUserInfoService userInfoService;
//登陆
@RequestMapping("/doLogin.do")
public ModelAndView doLogin(String username, String password, ModelAndView modelAndView){
//1.调用service,查询得到结果
UserInfo userInfo = userInfoService.doLogin(username);
//2.判断
if (userInfo != null){
if (userInfo.getPassword().equals(password)){
System.out.println("密码正确,登陆成功!");
String name=username;
modelAndView.addObject("name",name); //添加到模型对象(可以为null)
modelAndView.setViewName("aside");//跳转到指定的页面 跳转方式转发
modelAndView.setViewName("main");
}else {
System.out.println("密码错误,登陆失败!");
modelAndView.addObject("type","密码错误,登陆失败");
modelAndView.setViewName("../login");
}
}else{
System.out.println("用户不存在,请重新输入");
System.out.println(userInfo);
modelAndView.addObject("type","用户不存在,请重新输入");
modelAndView.setViewName("../login");
}
return modelAndView;
}
//全部查询
//所有需要返回数据到页面显示的全部都需要封装到ModeAndView中
@RequestMapping("/findAll.do")
public ModelAndView findAll(@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "5") Integer size){
//调用service中的方法,得到查询的结果
List<UserInfo> userInfoList=userInfoService.findAll(page,size);
//把得到的数据存放到PageInfo中
PageInfo pageInfo=new PageInfo(userInfoList);
ModelAndView mv=new ModelAndView();
mv.addObject("pageInfo",pageInfo);
mv.setViewName("user-list");
return mv;
}
然后就是js部分了!!!
找到
填写完整
${pageContext.request.contextPath}/user/doLogin.do
为啥是doLogin.do 因为在控制器层 登陆功能的方法调用
登陆功能完结撒花!!!
来源:CSDN
作者:Xiaoxu_nine
链接:https://blog.csdn.net/Xiaoxu_nine/article/details/104593213