用户登录界面代码 使用mybatis连接数据库
时间: 2024-02-02 19:46:21 浏览: 20
以下是一个基本的用户登录界面代码,使用MyBatis连接数据库:
UserMapper.xml文件:
```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.example.mapper.UserMapper">
<select id="getUserByUsernameAndPassword" parameterType="map" resultType="com.example.bean.User">
SELECT * FROM user WHERE username=#{username} AND password=#{password}
</select>
</mapper>
```
UserMapper接口:
```java
package com.example.mapper;
import java.util.Map;
import com.example.bean.User;
public interface UserMapper {
User getUserByUsernameAndPassword(Map<String, Object> map);
}
```
UserDaoImpl类:
```java
package com.example.dao.impl;
import java.util.HashMap;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import com.example.bean.User;
import com.example.dao.UserDao;
import com.example.mapper.UserMapper;
import com.example.util.MyBatisUtil;
public class UserDaoImpl implements UserDao {
@Override
public User getUserByUsernameAndPassword(String username, String password) {
SqlSession sqlSession = MyBatisUtil.getSqlSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
Map<String, Object> map = new HashMap<>();
map.put("username", username);
map.put("password", password);
User user = userMapper.getUserByUsernameAndPassword(map);
return user;
} finally {
sqlSession.close();
}
}
}
```
UserController类:
```java
package com.example.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import com.example.bean.User;
import com.example.dao.UserDao;
import com.example.dao.impl.UserDaoImpl;
@Controller
public class UserController {
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(HttpServletRequest request, HttpServletResponse response,
@RequestParam("username") String username, @RequestParam("password") String password) {
UserDao userDao = new UserDaoImpl();
User user = userDao.getUserByUsernameAndPassword(username, password);
if (user != null) {
HttpSession session = request.getSession();
session.setAttribute("user", user);
return "redirect:/home";
} else {
request.setAttribute("errorMsg", "用户名或密码错误");
return "login";
}
}
}
```
login.jsp页面:
```html
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户登录</title>
</head>
<body>
<h1>用户登录</h1>
<% String errorMsg = (String) request.getAttribute("errorMsg"); %>
<% if (errorMsg != null) { %>
<p style="color: red;"><%=errorMsg%></p>
<% } %>
<form method="post" action="${pageContext.request.contextPath}/login">
<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br><br>
<label for="password">密码:</label>
<input type="password" id="password" name="password"><br><br>
<input type="submit" value="登录">
</form>
</body>
</html>
```
home.jsp页面:
```html
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Home</title>
</head>
<body>
<h1>Welcome, ${user.username}!</h1>
<p>Your password is: ${user.password}</p>
</body>
</html>
```
以上代码可以实现一个简单的用户登录功能,使用MyBatis连接数据库。