POJO类
public class User {
private int id;
private String username;
private String password;
private Date birthday;
private String gender;
private String email;
}
UserMapper接口
public interface UserMapper {
public User selectByName(String username);public void insert(User user);
public List<User> selectUsers();
public void delete(String ids);
public List<User> select(String ids);
public void update(User user);
public User selectById(int id);
}
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.dao.UserMapper">
<delete id="delete" parameterType="String">
delete from user where id in (${value});
</delete>
<select id="select" parameterType="String" resultType="User">
select * from user where id in (${value});
</select>
<select id="selectUsers" resultType="User" >
select * from user
</select>
<select id="selectByName" parameterType="String" resultType="user">
select * from user where username = #{username}
</select>
<insert id="insert" parameterType="User">
<!-- birthday;
private String gender;
private String email -->
insert into user(username,password,email,gender,birthday)values(#{username},#{password},#{email},#{gender},#{birthday});
</insert>
<select id="selectById" parameterType="int" resultType="user">
select * from user where id=#{id};
</select>
<update id="update" parameterType="User">
update user
set
username=#{username},
password=#{password},
gender=#{gender},
birthday=#{birthday},
email=#{email}
where id=#{id}
</update>
</mapper>
UserSerivce接口
public interface UserService {
public List<User> selectUsers();
public void insert(User user);
public void delete(String ids);
public List<User> select(String ids);
public void update(User user);
public User selectById(int id);
public boolean login(User user);
public boolean isExist(String userename);
}
service的实现类
@Service
@Transactional
public class UserServiceImpl implements UserService{
@Autowired
private UserMapper userMapper;
@Override
public List<User> selectUsers() {
List<User> list = userMapper.selectUsers();
return list;
}
/*
*
*/
@Override
public void delete(String ids) {
// TODO Auto-generated method stub
userMapper.delete(ids);
}
/*
*
*/
@Override
public List<User> select(String ids) {
// TODO Auto-generated method stub
List<User> list = userMapper.select(ids);
return list;
}
/*
*
*/
@Override
public boolean login(User user) {
User u = userMapper.selectByName(user.getUsername());
if(u!=null && user.getPassword().equals(u.getPassword())){
return true;
}
return false;
}
/*
*
*/
@Override
public boolean isExist(String userename) {
User user = userMapper.selectByName(userename);
if(user==null){
return true;
}
return false;
}
/*
*
*/
@Override
public void insert(User user) {
// TODO Auto-generated method stub
userMapper.insert(user);
}
/*
*
*/
@Override
public void update(User user) {
// TODO Auto-generated method stub
userMapper.update(user);
}
/*
*
*/
@Override
public User selectById(int id) {
User user = userMapper.selectById(id);
return user;
}
}
controller类
@Controller
@RequestMapping("user")
public class TestUser {
@Autowired
private UserService service;
@Autowired
private KaptchaExtend ke;
@RequestMapping("selectUsers")
public String selectUsers(Model model) {
List<User> list = service.selectUsers();
model.addAttribute("list", list);
return "userlist";
}
@RequestMapping("delete")
public String delete(String ids) {
service.delete(ids);
return "redirect:selectUsers.do";
};
@RequestMapping("daochu")
public String select(String ids) throws Exception {
List<User> list = service.select(ids);
File file = new File("D://user.txt");
if (!file.exists()) {
file.createNewFile();
}
FileOutputStream fileOutputStream = new FileOutputStream(file);
OutputStreamWriter writer = new OutputStreamWriter(fileOutputStream,
"utf-8");
BufferedWriter bufferedWriter = new BufferedWriter(writer);
for (User user : list) {
System.out.println(user);
bufferedWriter.write(user.getId() + user.getUsername()
+ user.getPassword() + user.getBirthday()
+ user.getGender());
bufferedWriter.newLine();
}
bufferedWriter.close();
writer.close();
fileOutputStream.close();
return "userok";
}
@RequestMapping("login")
public String login(User user, Model model) {
boolean b = service.login(user);
if (b == false) {
model.addAttribute("mess", "登录失败!!!");
return "userlogin";
}
return "redirect:selectUsers.do";
};
@RequestMapping("insert")
public String insert(User user) {
service.insert(user);
return "userlogin";
}
//验证码
@RequestMapping("ke")
public String kaptcha(HttpServletRequest req, HttpServletResponse resp,
HttpSession s) throws ServletException, IOException {
ke.captcha(req, resp);
System.out.println("code:" + s.getAttribute("code"));
return null;
}
@RequestMapping("test")
@ResponseBody
public String test(HttpServletRequest req, HttpServletResponse resp,
HttpSession s, String code) throws ServletException, IOException {
if (s.getAttribute("code").equals(code)) {
return "ok";
}
return "error";
}
@RequestMapping("isExits")
@ResponseBody
public String isExits(String userename) {
System.out.println(userename);
boolean b = service.isExist(userename);
if (b) {
return "error";
} else {
return "ok";
}
}
@RequestMapping("update")
public String update(User user) {
service.update(user);
return "redirect:selectUsers.do";
}
@RequestMapping("selectById")
public String selectById(int id, Model model) {
User user = service.selectById(id);
model.addAttribute("user", user);
return "userupdate";
}
}
Userlist.jsp遍历的界面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="f" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function(){
$("#a").click(function(){
$(":checkbox[name='items']").attr("checked","checked");
});
$(":checkbox[name='items']").click(function(){
$("#a").attr("checked",$(":checkbox[name='items']").length==$(":checkbox[name='items']:checked").length);
});
$("#b").click(function(){
var aa=new Array();
$(":checkbox[name='items']:checked").each(function(){
aa.push($(this).val());
});
location.href="${pageContext.request.contextPath}/user/daochu.do?ids="+aa;
});
$("#c").click(function(){
var aa=new Array();
$(":checkbox[name='items']:checked").each(function(){
aa.push($(this).val());
});
location.href="${pageContext.request.contextPath}/user/delete.do?ids="+aa;
});
});
</script>
</head>
<body>
<!-- id;
private String username;
private String password;
private Date birthday;
private String gender -->
<input type="button" value="导出" id="b" />
<input type="button" value="删除" id="c" />
<table border="2">
<tr>
<td><input type="checkbox" id="a" /></td>
<td>id</td>
<td>username</td>
<td>password</td>
<td>gender</td>
<td>email</td>
<td>birthday</td>
<td>操作</td>
</tr>
<c:forEach items="${list }" var="one">
<tr>
<td><input type="checkbox" name="items" value="${one.id }" /></td>
<td>${one.id }</td>
<td>${one.username }</td>
<td>${one.password }</td>
<td>${one.gender }</td>
<td>${one.email }</td>
<td><f:formatDate value="${one.birthday}" pattern="yyyy-MM-dd" /></td>
<td><a href="${pageContext.request.contextPath }/user/selectById.do?id=${one.id}">点击修改</a></td>
</tr>
</c:forEach>
</table>
</body>
</html>
userlogin.jsp登陆界面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="f" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function(){
$("#username").blur(function(){
$("span").empty();
if($(this).val()==null || $(this).val()==""){
var span="<span id='a'>用户名不能为空</span>";
$(this).after(span);
username=false;
}else{
username=true;
}
});
$("#password").blur(function(){
$("span").empty();
if($(this).val().length<3){
var span="<span id='b'>密码不能为空</span>";
$(this).after(span);
password=false;
}else{
password=true;
}
});
});
</script>
</head>
<body>
<h1>${mess }</h1>
<form action="${pageContext.request.contextPath }/user/login.do">
username:<input type="text" name="username" id="username" /><br>
password:<input type="password" name="password" id="password" /><br>
<input type="submit" value="login" />
</form>
</body>
</html>
userreg.jsp注册界面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="f" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function(){
var username=false;
var password=false;
var email=false;
var d=false;
$("#username").blur(function(){
$("span").empty();
if($(this).val()==null || $(this).val()==""){
var span="<span id='a'>用户名不能为空</span>";
$(this).after(span);
username=false;
}else{
$.post("${pageContext.request.contextPath }/user/isExits.do",
{userename:$("#username").val()},
function(data){
if (data == "ok") {
var span="<span id='d'>用户名重复</span>";
$("#username").after(span);
} else {
var span="<span id='e'>用户名可以使用</span>";
$("#username").after(span);
}
}
,"json");
username=true;
}
});
$("#password").blur(function(){
$("span").empty();
if($(this).val().length<3){
var span="<span id='b'>密码不能为空</span>";
$(this).after(span);
password=false;
}else{
password=true;
}
});
$(":input[name='email']").blur(function(){
var email1 = $(this).val();
$("span").empty();
var reg = /\w+[@]{1}\w+[.]\w+/;
if(reg.test(email1)){
email=true;
}else{
var span="<span id='w'>email格式不正确</span>";
$(this).after(span);
email=false;
}
});
$("#code").blur(function(){
$.post("${pageContext.request.contextPath}/user/test.do",{"code":$("#code").val()},function(data){
if(data=="ok"){
alert(data);
d=true;
}else{
alert(data);
d=false;
}
},"json");
});
$("img").click(function(){
$(this).attr("src","${pageContext.request.contextPath }/user/ke.do?date="+new Date());
});
$("#a").click(function(){
$("img").prop("src","${pageContext.request.contextPath }/user/ke.do?date="+new Date());
});
$("#chen").click(function (){
if(password && username && email && d){
$("form").submit();
/* $.post("${pageContext.request.contextPath }/user/insert.do",
$("form").serialize(),
function(data){
console.log(data);
if (data == "ok") {
alert("成功");
location.href = "${pageContext.request.contextPath }/user/selectUsers.do";
} else {
alert("失败");
location.reload(); }
}
,"json"); */
}else{
alert("请正确输入信息");
}
});
});
</script>
</head>
<body>
<form action="${pageContext.request.contextPath }/user/insert.do">
username:<input type="text" name="username" id="username" /><br>
password:<input type="password" name="password" id="password" /><br>
birthday:<input type="date" name="birthday" id="birthday" /><br>
gender:<input type="radio" name="gender" value="男" />男
<input type="radio" id="gender" name="gender" value="女" />女<br>
email:<input type="text" name="email" id="email" /><br>
验证:<input type="text" id="code" name="" /><img src="${pageContext.request.contextPath }/user/ke.do" width="100px" height="50px"/>
<a href="javaScript:" id="a">看不清?换一张</a><br>
<br>
<input type="button" id="chen" value="reg" />
</form>
</body>
</html>
userupdate.jsp修改界面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="f" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function(){
var username=false;
var password=false;
$("#username").blur(function(){
$("span").empty();
if($(this).val()==null || $(this).val()==""){
var span="<span id='a'>用户名不能为空</span>";
$(this).after(span);
username=false;
}else{
username=true;
}
});
$("#password").blur(function(){
$("span").empty();
if($(this).val().length<3){
var span="<span id='b'>密码不能为空</span>";
$(this).after(span);
password=false;
}else{
password=true;
}
});
});
</script>
</head>
<body>
<form action="${pageContext.request.contextPath }/user/update.do">
<input type="hidden" name="id" value="${user.id }" />
username:<input type="text" name="username" value="${user.username }" id="username" /><br>
password:<input type="password" name="password" value="${user.password }" id="password" /><br>
birthday:<input type="date" name="birthday" value="<f:formatDate value="${user.birthday}" pattern="yyyy-MM-dd" />" id="birthday" /><br>
gender:<input type="radio" name="gender" <c:if test="${user.gender=='男' }">checked="checked"</c:if> value="男" />男
<input type="radio" id="gender" name="gender" <c:if test="${user.gender=='女' }">checked="checked"</c:if> value="女" />女<br>
email:<input type="text" name="email" value="${user.email }" id="email" /><br>
<input type="submit" id="chen" value="update" />
</form>
</body>
</html>
userok.jsp界面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="f" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<h1>导出成功!!!</h1>
</body>
</html>