SSM整合手机联系人

来源:互联网 发布:逆战天梯卡数据不扣分 编辑:程序博客网 时间:2024/05/29 15:02

dao层方法




package com.dao;
import java.util.List;
import com.pojo.Person;
public interface PersonMapper {
    public List<Person> selectPersonByUserId(Integer wid);
    public Person selectById(Integer id);
    public void insert(Person person);
    public void delete(Integer id);
    public void update(Person person);
}




public interface ShoujiMapper {
public Shouji selectone(String name);
public void insert(Shouji shouji);
public void delete(Integer id);
public void update(Shouji shouji);
}




Mapper代理类



<?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.bawei.PersonMapper">
    <select id="selectById" parameterType="int" resultType="person">
        select * from person where id=#{id}
    </select>
    <insert id="insert" parameterType="person">
        insert into person(name,tel,email,address,wid)
        value(#{name},#{tel},#{email},#{address},#{wid})
    </insert>
    <delete id="delete" parameterType="int">
        delete from person where id=#{id}
    </delete>
    <update id="update" parameterType="person">
        update person set name=#{name},tel=#{tel},
        email=#{email},address=#{address} where id=#{id}
    </update>
    <select id="selectPersonByUserId" parameterType="int" resultType="person">
        select * from person where wid=#{wid}
    </select>
    
</mapper>





<?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.ShoujiMapper">
    <select id="selectone" parameterType="shouji" resultType="shouji">
        select * from shouji where name=#{name}
    </select>
    <insert id="insert" parameterType="shouji">
        insert into shouji(name,password,email)
        value(#{name},#{password},#{email})
    </insert>
</mapper>




Test测试类


package com.bawei.test;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/applicationContext.xml")
public class TestMapper {
    @Autowired
    private PersonMapper pm;
    @Autowired
    private ShoujiMapper sm;
    @Test
    public void test1(){
        Person p=new Person();
        p.setAddress("北京海淀");
        p.setEmail("1459987@qq.com");
        p.setName("嘎嘎嘎");
        p.setTel("13525576689");
        p.setWid(2);
        pm.insert(p);
    }
    @Test
    public void test5(){
        List<Person> list = pm.selectPersonByUserId(1);
        for (Person person : list) {
            System.out.println(person);
        }
    }
    @Test
    public void selectAll(){
        Shouji list = sm.selectone("张三");
        
            System.out.println(list);
        
    }
    @Test
    public void insertuser(){
        Shouji s=new Shouji();
        s.setName("qqq");
        s.setEmail("1459987@qq.com");
        s.setPassword("456");
        sm.insert(s);
    }
}



service类

import java.util.List;
public interface PersonService {
    public void addPerson(Person person);
    public void removePerson(Integer id);
    public void changePerson(Person person);
    public Person queryById(Integer id);
    public List<Person> queryPersonByUserId(Integer id);
}



public interface ShoujiService {
    public Shouji login(Shouji shouji);
    public void register(Shouji shouji);
    public boolean isExist(String name);



Impl实现类



import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional
public class ShoujiServiceImpl implements ShoujiService{
    @Autowired
    private ShoujiMapper sm;

    @Override
    public Shouji login(Shouji shouji) {
        Shouji user2 = sm.selectone(shouji.getName());
        if(user2!=null && user2.getPassword().equals(shouji.getPassword())){
            return user2;
        }else{
            throw new RuntimeException("用户名或密码错误!");
        }

    }
    @Override
    public void register(Shouji shouji) {
        // TODO Auto-generated method stub
        sm.insert(shouji);
    }
    @Override
    public boolean isExist(String name) {
        if(sm.selectone(name)!=null){
            return true;
        }
        return false;
    }
    

}






import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional
public class PersonServiceImpl implements PersonService {
    @Autowired
    private PersonMapper pm;
    @Override
    public void addPerson(Person person) {
        pm.insert(person);

    }

    @Override
    public void removePerson(Integer id) {
        pm.delete(id);

    }

    @Override
    public void changePerson(Person person) {
        pm.update(person);

    }

    @Override
    public Person queryById(Integer id) {
        return pm.selectById(id);
    }

    @Override
    public List<Person> queryPersonByUserId(Integer id) {
        return pm.selectPersonByUserId(id);
    }

}


controller类






import java.util.List;

import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/person")
public class PersonController {
    @Autowired
    private PersonService ps;
    @RequestMapping("/queryAll")
    public String queryAll(HttpSession session,Model model){
        Shouji user=(Shouji)session.getAttribute("user");
        List<Person> list = ps.queryPersonByUserId(user.getId());
        model.addAttribute("list",list);
        return "personList";
    }
    
}



import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("user")
public class ShoujiController {
    @Autowired
    private ShoujiService service;
    @RequestMapping("login")
    @ResponseBody
    public String login(Shouji shouji,HttpSession session){
        try {
            shouji = service.login(shouji);
            session.setAttribute("user", shouji);
            return "ok";
        } catch (Exception e) {
            return "error";
        }
    }
    @RequestMapping("register")
    @ResponseBody
    public String register(Shouji shouji){
        try {
            service.register(shouji);
            return "ok";
        } catch (Exception e) {
            return "error";
        }
    }
    @RequestMapping("isExist")
    @ResponseBody
    public String isExist(Shouji shouji){
        if(service.isExist(shouji.getName())){
            return "error";
        }else{
            return "ok";
        }
    }
    
}



拦截器的包


interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
public class MustLoginInterceptor implements HandlerInterceptor {

    @Override
    public void afterCompletion(HttpServletRequest arg0,
            HttpServletResponse arg1, Object arg2, Exception arg3)
            throws Exception {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
            Object arg2, ModelAndView arg3) throws Exception {
        // TODO Auto-generated method stub
        
    }

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
            Object arg2) throws Exception {
        // TODO Auto-generated method stub
        HttpSession session = request.getSession();
        Shouji user=(Shouji)session.getAttribute("user");
        if(user==null){
            response.sendRedirect(request.getContextPath()+"/login.jsp");
            return false;
        }else{
            return true;
        }
        
    }


}

登录JSP



<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
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>
  <base href="<%=basePath%>">
    <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
      <script type="text/javascript">
          $(function(){
              $("#name").blur(function(){
                  var name=$(this).val();
                  $("#sname").empty();
                  if(name==null || name==""){
                      $(this).after("<span id='sname'><font color='red'>用户名不能为空!</font></span>");
                      name_flag=false;
                  }else{
                      name_flag=true;
                  }
              });
              $("#password").blur(function(){
                  var password=$(this).val();
                  $("#spassword").empty();
                  if(password==null || password==""){
                      $(this).after("<span id='spassword'><font color='red'>密码不能为空!</font></span>")
                      password_flag=false;
                  }else{
                      password_flag=true;
                  }
              });
            $("#login").click(function(){
                if(name_flag&&password_flag){
                    $.post("${pageContext.request.contextPath }/user/login",$("form").serialize(),
                    function(d){
                        if(d=="ok"){
                            location.href="${pageContext.request.contextPath }/person/queryAll";
                        }else{
                            $("span").empty();
                            $("#error").text("用户名或密码错误!");
                        }
                    },"json"
                    );
                }else{
                    alert("请填写登录信息!");
                }
                
            });
        });
      </script>
  </head>
 
  <body>
    <center><h1>用户登录</h1></center><br/><br/>
    <div><font color="red"><span id="error"></span></font></div><br/>
    <form>
        用户名:<input type="text" name="name" id="name"/><br/>
        密码:<input type="password" name="password" id="password"/><br/>
        <input type="button" value="登录" id="login"/><br/><br/>
        <a href="register.jsp"><span>还没注册?请注册!</span></a>
    </form>
  </body>
</html>



注册的JSP


<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<base href="<%=basePath%>">
  <head>
    <script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>
      <script type="text/javascript">
          $(function(){
              $("#name").blur(function(){
                  $("#sname").empty();
                  var name=$(this).val();
                  if(name==null || name==""){
                      $("#name").after("<span id='sname'><font color='red'>用户名不能为空!</font></span>")
                      name_flag=false;
                  }else{
                      $.post("${pageContext.request.contextPath }/user/isExist","name="+name,
                    function(d){
                        if(d=="error"){
                            $("#name").after("<span id='sname'><font color='red'>用户名已经存在!</font></span>")
                            name_flag=false;
                        }else{
                            name_flag=true;
                        }
                    },"json"
                    );
                  }
                  
              });
              $("#password").blur(function(){
                  var password=$(this).val();
                  $("#spassword").empty();
                  if(password==null || password==""){
                      $(this).after("<span id='spassword'><font color='red'>密码不能为空!</font></span>");
                      password_flag=false;
                  }else{
                      password_flag=true;
                  }
              });
              $("#email").blur(function(){
                  var email=$(this).val();
                  $("#semail").empty();
                  if(email==null || email==""){
                      $(this).after("<span id='semail'><font color='red'>邮箱不能为空!</font></span>");
                      email_flag=false;
                  }else{
                      email_flag=true;
                  }
              });
            $("#register").click(function(){
                if(name_flag&&password_flag&&email_flag){
                    $.post("${pageContext.request.contextPath }/user/register",$("form").serialize(),
                    function(d){
                        if(d=="ok"){
                            location.href="${pageContext.request.contextPath }/registerOk.jsp";
                        }else{
                            alert("注册失败!");
                            location.reload();
                        }
                    },"json"
                    );
                }else{
                    alert("请填写注册信息!");
                }
                
            });
        });
      </script>
  </head>
 
  <body>
    <h1>用户注册</h1><br/><br/>
    <div><font color="red"><span id="error"></span></font></div><br/>
    <form>
        用户名:<input type="text" name="name" id="name"/><br/>
        密码:<input type="password" name="password" id="password"/><br/>
        邮箱:<input type="email" name="email" id="email"/><br/>
        <input type="button" value="注册" id="register"/>
    </form>
  </body>
</html>


三秒跳转

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<base href="<%=basePath%>">
  <head>
    <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
      <script type="text/javascript">
          window.setTimeout(function(){
              location.href="${pageContext.request.contextPath}/login.jsp";
          },3000);
      </script>
  </head>
 
  <body>
    <center><h4>注册成功,三秒钟后跳转到登录页面...</h4></center>
  </body>
</html>



联系人列表查询


<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<base href="<%=basePath%>">
  <head>
    <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
      <script type="text/javascript">
          $(function(){
            $("#ch").click(function(){
                $("input[type='checkbox']:gt(0)").attr("checked",this.checked);
            });
            
            $(".delete").click(function(){
                window.confirm("确定删除?");
            });
            $("#betchDelete").click(function(){
                var array=new Array();
                $("input[type='checkbox']:gt(0):checked").each(function(){
                    array.push($(this).parent().next().text());
                });
                if(array.length!=0){
                    alert(array);
                    location.reload();
                    //$.post("url","array="+array,function(){},"json");
                }else{
                    alert("请选择要删除的数据");
                }
            });
        });
      </script>
  </head>
  <center>
  <body>
    <h1>通讯信息列表</h1><br/><br/>
       按用户名查询:<input type="text" name="name"/>&nbsp;&nbsp;按电话号码查询:<input type="text" name="phoneNumber"/>
       &nbsp;&nbsp;<input type="button" value="查询" id="query"/>
       &nbsp;&nbsp;&nbsp;&nbsp;<input type="button" value="批量删除" id="betchDelete"/>
       <br/><br/>
    <table border="1" width="60%">
        <tr>
            <th><input type="checkbox" id="ch"></th>
            <th>id</th>
            <th>姓名</th>
            <th>电话号码</th>
            <th>地址</th>
            <th>邮箱</th>
            <th>数据操作</th>
        </tr>
        <c:forEach items="${requestScope.list }" var="a">
            <tr>
                <td align="center"><input type="checkbox"></td>
                <td align="center">${a.id }</td>
                <td align="center">${a.name }</td>
                <td align="center">${a.tel }</td>
                <td align="center">${a.address }</td>
                <td align="center">${a.email }</td>
                <td align="center">
                    <input type="button" value="删除" class="delete">
                    <input type="button" value="修改">
                </td>
            </tr>
        </c:forEach>
    </table><br/><br/><br/>
    每页显示:<select>
        <option>4</option>
        <option>6</option>
        <option>8</option>
        <option>10</option>
    </select>&nbsp;&nbsp;
    <a href="" >首页</a>&nbsp;&nbsp;
    <a href="" >1</a>&nbsp;&nbsp;
    <a href="" >2</a>&nbsp;&nbsp;
    <a href="" >3</a>&nbsp;&nbsp;
    <a href="" >4</a>&nbsp;&nbsp;
    <a href="" >5</a>&nbsp;&nbsp;
    <a href="" >末页</a>&nbsp;&nbsp;
    跳转到:<select>
        <option>1</option>
        <option>2</option>
        <option>3</option>
        <option>4</option>
    </select>页
  </body>
  </center>
</html>


原创粉丝点击