ssj的框架整合实例

SpringMVC +Spring+ SpringJDBC整合实例:
首先设置dao层:
package com.offcn.dao;

import com.offcn.entity.User;
import com.offcn.utils.PageUtils;

import java.util.List;

public interface UserDao {

User selectByName(String userName);

//获取数据-第一个参数当前页,第二个参数是每页显示多少条
List<User> selectAllList(Integer currentPageNo,Integer pageSize);

/**
 *
 * @return
 */
//查出总记录数
Integer selectUserCount();


/**
 *
 * @param user
 * @return
 */
//增加的方法
Integer addUser(User user);

//删除

/**
 *
 * @param id
 * @return
 */
Integer deleteUser(int id);
//修改

/**
 *
 * @param user
 * @return
 */

Integer updateUser(User user);
//查询单个用户
User selectOneUser(int id);


/*----模糊查询-----*/
 List<User>  selectLikeUser(PageUtils pageUtils);
 //模糊查询总记录数
Integer selectLikeCount(PageUtils pageUtils);

}

UserDaoImpl实现层:
package com.offcn.dao.impl;

import com.offcn.dao.UserDao;
import com.offcn.entity.User;
import com.offcn.handle.ArrayResultHandler;
import com.offcn.handle.BeanListResultHandler;
import com.offcn.handle.BeanResultHandler;
import com.offcn.utils.BaseDao;
import com.offcn.utils.EmptyUtils;
import com.offcn.utils.PageUtils;
import org.springframework.stereotype.Repository;

import java.util.ArrayList;
import java.util.List;

@Repository(“userDao”)
public class UserDaoImpl implements UserDao {

//登陆验证
@Override
public User selectByName(String userName) {

    String sql = "select * from user where uname=?";

    return (User) BaseDao.executeQuery(sql,new Object[]{userName}, new BeanResultHandler(User.class));
}



//查询分页
@Override
public List<User> selectAllList(Integer currentPageNo, Integer pageSize) {

    String sql="select * from user limit ?,?";
    Object []objects={(currentPageNo-1)*pageSize,pageSize};

    return (List<User>) BaseDao.executeQuery(sql,objects, new BeanListResultHandler(User.class));
}

@Override
//查询总记录数
public Integer selectUserCount() {
    String sql="select count(1) from user";


    List list =(List) BaseDao.executeQuery(sql, null, new ArrayResultHandler());
  String count= list.get(0)+"";

    return Integer.parseInt(count);
}

@Override
public Integer addUser(User user) {

    String sql="insert into  user(uname,upwd,usex) values(?,?,?)";
    return  BaseDao.executeUpdate(sql,new Object[]{user.getUname(),user.getUpwd(),user.getUsex()});
}

@Override
public Integer deleteUser(int id) {
    String sql="delete from user where uid=?";
    return BaseDao.executeUpdate(sql,new Object[]{id});
}

@Override
public Integer updateUser(User user) {
    String sql="update  user set uname=?,upwd=?,usex=?   where uid=?";
    return BaseDao.executeUpdate(sql,new Object[]{user.getUname(),user.getUpwd(),user.getUsex(),user.getUid()});
}

@Override
public User selectOneUser(int id) {
    String sql="select * from user where uid=?";

    User user = (User) BaseDao.executeQuery(sql, new Object[]{id}, new BeanResultHandler(User.class));
    return user;
}


/*--模糊分页查询--*/
@Override
public List<User> selectLikeUser( PageUtils pageUtils) {
    //String sql="select * from user where 1=1";

    StringBuffer sb=new StringBuffer("select * from user where 1=1");

    //定义一个集合来存占位符的集合
    List<Object> list=new ArrayList<Object>();

    //判断是否需要模糊查询
    if(EmptyUtils.isNotEmpty(pageUtils.getQueryWorld())){
        //拼接sql语句
        sb.append(" and uname like ?");
        list.add("%"+pageUtils.getQueryWorld()+"%");
        //


    }
    //分页查询
    if(EmptyUtils.isNotEmpty(pageUtils.getCurrentPageNo())){

        sb.append( " limit ?,?");
        list.add((pageUtils.getCurrentPageNo()-1)*pageUtils.getPageSize());
        list.add(pageUtils.getPageSize());
    }

    List<User>list1 = (List<User>) BaseDao.executeQuery(sb.toString(), list.toArray(), new BeanListResultHandler(User.class));


    return list1;
}

@Override
public Integer selectLikeCount(PageUtils pageUtils) {
    StringBuffer sb=new StringBuffer("select count(1) from user where 1=1");

    //定义一个集合来存占位符的集合
    List<Object> list=new ArrayList<Object>();

    //判断是否需要模糊查询
    if(EmptyUtils.isNotEmpty(pageUtils.getQueryWorld())){
        //拼接sql语句
        sb.append(" and uname like ?");
        list.add("%"+pageUtils.getQueryWorld()+"%");
        //

    }

    List<User> list1 = (List<User>) BaseDao.executeQuery(sb.toString(), list.toArray(), new ArrayResultHandler());

    String s= list1.get(0)+"";
    return Integer.parseInt(s);
}

}

UserServiceImpl实现业务层:
package com.offcn.service.impl;

import com.offcn.dao.UserDao;
import com.offcn.entity.User;
import com.offcn.service.UserService;
import com.offcn.utils.PageUtils;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/—注解扫描Service层并取别名—/
@Service(“userService”)
public class UserServiceImpl implements UserService {

@Resource/*注入userDao*/
private UserDao userDao;
@Override

public User selectByName(String uName, String upwd) {

    User user=userDao.selectByName(uName);


        if (user.getUpwd().equals(upwd)) {
            return user;
        }

    return null;
}

@Override
public List<User> selectAllList(Integer currentPageNo, Integer pageSize) {
    return userDao.selectAllList(currentPageNo,pageSize);
}


@Override
public Integer selectUserCount() {
    return userDao.selectUserCount();
}



@Override
public Integer addUser(User user) {
    return userDao.addUser(user);
}

@Override
public Integer updateUser(User user) {
    return userDao.updateUser(user);
}

@Override
public User selectOneUser(int id) {
    return userDao.selectOneUser(id);
}

@Override
public Integer deleteUser(int id) {
    return userDao.deleteUser(id);
}

@Override
public List<User> selectLikeUser(PageUtils pageUtils) {
    return userDao.selectLikeUser(pageUtils);
}

@Override
public Integer selectLikeCount(PageUtils pageUtils) {
    return userDao.selectLikeCount(pageUtils);
}

}

springmvc-servlet.xml配置:

<?xml version="1.0" encoding="UTF-8"?>



<context:component-scan base-package=“com.offcn.controller”/>
mvc:annotation-driven/


<mvc:resources mapping="/statics/**" location="/statics/"></mvc:resources>

<!-- 完成视图的对应 -->
<!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
	<property name="prefix" value="/WEB-INF/jsp/"/>
	<property name="suffix" value=".jsp"/>
</bean>
**applicationContext-jdbc.xml:配置** <?xml version="1.0" encoding="UTF-8"?>

修改界面.jsp
<%–
Created by IntelliJ IDEA.
User: ibm
Date: 2018/10/18
Time: 9:49
To change this template use File | Settings | File Templates.
–%>
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>

Title

修改界面

用户名:

密码:

性别:

首页.jsp文件:
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>

Title

增加

<table border="1" cellspacing="1" cellpadding="0" align="center">
    <tr>
        <td>编号</td>
        <td>姓名</td>
        <td>密码</td>
        <td>性别</td>

    </tr>

<c:forEach items="${pageUtils.userList}" var="user">
    <tr>
        <td>${user.uid}</td>
        <td>${user.uname}</td>
        <td>${user.upwd}</td>

               <c:if test="${user.usex==0}">
                   <td>女</td>
               </c:if>
               <c:if test="${user.usex==1}">
                   <td>男</td>
               </c:if>


        <td><span><a href="toUpdate?uid=${user.uid}">修改</a></span></td>
        <td ><span ><a href="javascript:void(0);" onclick="deleteUser(this,${user.uid});">删除</a></span></td>
    </tr>

</c:forEach>
</table>

<c:choose >
    <c:when test="${pageUtils.currentPageNo >1 }">
        <a href="toPage?currentPageNo=1">首页</a>
        <a href="toPage?currentPageNo=${pageUtils.currentPageNo-1}">上一页</a>

    </c:when>

<c:otherwise >
    <span>首页</span>
    <span>上一页</span>
</c:otherwise>
</c:choose>

[${pageUtils.currentPageNo}/${pageUtils.totalPageSize}]

<c:choose>
<c:when test="${pageUtils.currentPageNo != pageUtils.totalPageSize}">

    <a href="toPage?currentPageNo=${pageUtils.currentPageNo+1}">下一页</a>

    <a href="toPage?currentPageNo=${pageUtils.totalPageSize}">末页</a>

</c:when>
<c:otherwise >
    <span>下一页</span>
    <span>末页</span>
</c:otherwise>
</c:choose>
模糊查询: **UserController控制层的类** package com.offcn.controller;

import com.offcn.entity.User;
import com.offcn.service.UserService;
import com.offcn.utils.EmptyUtils;
import com.offcn.utils.PageUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

@Controller
@RequestMapping("/userController")
public class UserController {

@Resource
private UserService userService;


/*----提交方式--*/
@RequestMapping(value = "/login",method = RequestMethod.POST)
public String loginIn(@RequestParam(value = "uname",required = false)String uname,
                      @RequestParam(value = "upwd",required = false)String upwd, Model model){

    System.out.println();
    User user = userService.selectByName(uname, upwd);

    if(user!=null){
        model.addAttribute("user",user);
        /*---这个代表重定向---*/
        //默认转发:forward
        return "redirect:toPage";
    }

    return "error";
}
/*跳到首页*/
@RequestMapping("toPage")
public String toPage(@RequestParam(value = "currentPageNo",required = false) String currentPageNo
                    ,@RequestParam(value ="pageSize" ,required = false) String pageSize,
                     @RequestParam(value = "muname",required = false)String queryWord,
                     Model model){



        if (currentPageNo == "" || currentPageNo == null) {

            currentPageNo = "1";
        }

        if (pageSize == null || pageSize == "") {
            pageSize = "5";
        }

    PageUtils pageUtils=new PageUtils();

    pageUtils.setCurrentPageNo(Integer.parseInt(currentPageNo));

    pageUtils.setPageSize(Integer.parseInt(pageSize));

    if(EmptyUtils.isNotEmpty(queryWord)){

        pageUtils.setQueryWorld(queryWord);}





    //给pageUtils所有属性赋值
    //userService.selectAllList(Integer.parseInt(currentPageNo),Integer.parseInt(pageSize));
    //模糊查询用户并分页

        List<User> list = userService.selectLikeUser(pageUtils);

        //查询总记录数
        Integer countPage = userService.selectLikeCount(pageUtils);
        //总页数
        Integer totalPageSize = countPage % Integer.parseInt(pageSize) == 0 ?
                countPage / Integer.parseInt(pageSize) : countPage / Integer.parseInt(pageSize) + 1;


    //赋值
    pageUtils.setTotalCount(countPage);
    pageUtils.setTotalPageSize(totalPageSize);
    //pageUtils.setCurrentPageNo(Integer.parseInt(currentPageNo));
    pageUtils.setUserList(list);
    //pageUtils.setPageSize(Integer.parseInt(pageSize));

    model.addAttribute("pageUtils", pageUtils);


    return "showInfo";
}

/*到增加页面*/
@RequestMapping("/toAdd")
public String toAdd(){

return "addUser";
}

/*从增加页面返回*/
@RequestMapping(value = "/add",method = RequestMethod.POST)
public String add(@RequestParam(value = "uname",required = false) String uname,
                  @RequestParam(value = "upwd",required = false)String upwd,
                  @RequestParam(value = "usex",required = true)String usex){

    User user=new User();
    user.setUname(uname);
    user.setUpwd(upwd);
    user.setUsex(Integer.parseInt(usex));

    Integer integer = userService.addUser(user);
    if(integer>0){

        return "redirect:toPage";
    }
    return "toAdd";
}

/*到修改页面*/
@RequestMapping(value = "/toUpdate")
public String toUpdate(@RequestParam(value = "uid",required = true) String uid,Model model){

    User user = userService.selectOneUser(Integer.parseInt(uid));
    model.addAttribute("user",user);

    return "updateUser";
}

/*从修改页面返回*/
@RequestMapping(value = "/update",method = RequestMethod.POST)
public String update(@RequestParam(value = "uid",required = true) String uid,
                     @RequestParam(value = "uname",required = true) String uname,
                     @RequestParam(value = "upwd",required = true) String upwd,
                     @RequestParam(value = "usex",required = true) String usex){


    User user=new User();
    user.setUsex(Integer.parseInt(usex));
    user.setUid(Integer.parseInt(uid));
    user.setUpwd(upwd);
    user.setUname(uname);

    Integer integer = userService.updateUser(user);
    if(integer>0){
        return "redirect:toPage";
    }

    return "toUpdate";

}
/*删除功能*/
@RequestMapping("deleteUser")
@ResponseBody
public void deleteUser(@RequestParam(value = "uid",required = true) String uid,
                       HttpServletResponse response){

    Integer integer = userService.deleteUser(Integer.parseInt(uid));

}

}

PageUtils工具类:
package com.offcn.utils;

import com.offcn.entity.User;

import java.util.List;

//分页的工具类:
public class PageUtils {
//当前页码
private Integer currentPageNo;
//每页显示多少条
private Integer pageSize;
//总记录数
private Integer totalCount;
//总页数
private Integer totalPageSize;
//查询出的集合
private List userList;
//模糊查询的匹配字段
private String queryWorld;

public String getQueryWorld() {
    return queryWorld;
}

public void setQueryWorld(String queryWorld) {
    this.queryWorld = queryWorld;
}

public Integer getCurrentPageNo() {
    return currentPageNo;
}

public void setCurrentPageNo(Integer currentPageNo) {
    this.currentPageNo = currentPageNo;
}

public Integer getPageSize() {
    return pageSize;
}

public void setPageSize(Integer pageSize) {
    this.pageSize = pageSize;
}

public Integer getTotalCount() {
    return totalCount;
}

public void setTotalCount(Integer totalCount) {
    this.totalCount = totalCount;
}

public Integer getTotalPageSize() {
    return totalPageSize;
}

public void setTotalPageSize(Integer totalPageSize) {
    this.totalPageSize = totalPageSize;
}

public List<User> getUserList() {
    return userList;
}

public void setUserList(List<User> userList) {
    this.userList = userList;
}

}
实现对用户的增删改查(包括模糊查询与分页)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值