dao层接口
public interface UserMapper {
//登录
public Users login(Users users);
}
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">
<mapper namespace="com.sms.dao.user.UserMapper">
<!-- 登录 -->
<select id="login" resultType="com.sms.pojo.Users">
SELECT * FROM `smbms_user` WHERE userCode = #{userCode}
</select>
</mapper>
Service实现
// 登录
public Users login(Users users) {
SqlSession sqlSession = null;
try {
// 打开会话
sqlSession = MyBatisUtil.openSqlsession();
// 调用getMapper(UserMapper.class)执行Mapper接口方法
users = sqlSession.getMapper(UserMapper.class).login(users);
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭会话
MyBatisUtil.closeSqlsession(sqlSession);
}
return users;
}
Servlet
public void login(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
HttpSession session = request.getSession();
String username = request.getParameter("username");
String password = request.getParameter("password");
// 绝对路径
String path = request.getContextPath();
// 通过对象传参
Users users = new Users();
// 设置用户名
users.setUserCode(username);
// 设置密码
users.setUserPassword(password);
// 实例化业务逻辑
UserService service = new UserServiceImpl();
// 调用登录接口
users = service.login(users);
if (users != null) {
//判断输入用户名是否正确
if (!password.equals(users.getUserPassword())) {
request.setAttribute("message", "密码错误,请重新输入");
goTo("/login", request, response);
} else {
session.setAttribute(Conts.SESSION_NAME, users);
session.setMaxInactiveInterval(30);
redirect("/jsp/main", request, response);
}
} else {
request.setAttribute("message", "用户名不存在");
goTo("/login", request, response);
}
}
在 MyBatis-conf.xml 中将SQL映射进行注册
<mappers>
<!-- 将编写好的sql映射文件进行注册 -->
<mapper resource="com/sms/dao/user/UserMapper.xml" />
</mappers>