jdbc servlet ssm 实现简单的分页与批量删除

jdbc servlet ssm 实现简单的分页与批量删除

AJAX简介
AJAX = 异步 JavaScript 和 XML。
AJAX 是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

UserMapper中的代码

<select id="search" parameterType="String" resultType="com.wu.bean.User">
    select * from tb_user where username like "%"#{username}"%"
</select>
<delete id="deleteAll" parameterType="list">
    delete from tb_user where id in
    <foreach collection="ids" item="id" open="(" close=")" separator=",">
        #{id}
    </foreach>
</delete>

UserDao

public interface UserDao {
    User findUserByUserName(String username);
    List<User> findAll(@Param("start") int start,@Param("username") String username);
    void deleteById(int id);
    void addUser(User user);
    User selectById(int id);
    void update(User user);
    int getTotalCount(@Param("username") String username);
    List<User> search(String username);
    void deleteAll(@Param("ids") List<Integer> ids);
}

IUserService

public interface IUserService {
    boolean login(String username,String password);
    PageInfo<User> findAll(int currentPage,String username);
    void deleteById(int id);
    void addUser(User user);
    User selectUserById(int id);
    void update(User user);
    List<User> search(String username);
    void deleteAll(List<Integer> ids);
}

UserController

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

    @Autowired
    private IUserService userService;

    @RequestMapping("/login.do")
    public ModelAndView login(User user, HttpSession session){
        boolean flag = userService.login(user.getUsername(), user.getPassword());
        ModelAndView modelAndView=new ModelAndView();
        if(flag){
            session.setAttribute("user",user);
            modelAndView.setViewName("main");
        }else {
            modelAndView.setViewName("../failer");
        }
        return modelAndView;
    }

    @RequestMapping("/findAll.do")
    public ModelAndView findAll(@RequestParam(defaultValue = "1") int currentPage,String username,HttpSession session,@RequestParam(defaultValue = "0") int type) {
        if (type==1){
            session.setAttribute("searchname",username);
        }else {
            username=(String)session.getAttribute("searchname");
        }
        PageInfo<User> pageInfo = userService.findAll(currentPage,username);
        ModelAndView modelAndView=new ModelAndView();
        modelAndView.addObject("pageInfo", pageInfo);
        modelAndView.setViewName("user-list");
        return modelAndView;
    }

    @RequestMapping("/deleteById.do")
    public String delete(int id){
        userService.deleteById(id);
        return "redirect:findAll.do";
    }

    @RequestMapping("/addUser.do")
    public String add(User user){
        userService.addUser(user);
        return "redirect:findAll.do";
    }

    @RequestMapping("/toUpdate.do")
    public ModelAndView toUpdate(int id){
        User user=userService.selectUserById(id);
        ModelAndView modelAndView=new ModelAndView();
        modelAndView.addObject("user",user);
        modelAndView.setViewName("user-update");
        return modelAndView;
    }

    @RequestMapping("/update")
    public String update(User user){
        userService.update(user);
        return "redirect:findAll.do";
    }

    @RequestMapping("/search")
    public ModelAndView search(String username){
        List<User> userList=userService.search(username);
        ModelAndView modelAndView=new ModelAndView();
        modelAndView.addObject("userList", userList);
        modelAndView.setViewName("user-list");
        return modelAndView;
    }

    @RequestMapping("/deleteAll")
    public String deleteAll(String userList){
        String [] strs=userList.split(",");
        List<Integer> ids=new ArrayList<>();
        for (String s:strs){
            ids.add(Integer.parseInt(s));
        }
        userService.deleteAll(ids);
        return "redirect:findAll.do";
    }
}

UserService

@Service
public class UserService implements IUserService {

    @Autowired
    private UserDao userDao;

    @Override
    public boolean login(String username, String password) {
        User user = userDao.findUserByUserName(username);
        if (user!=null && user.getPassword().equals(password)){
            return true;
        }
        return false;
    }

    @Override
    public PageInfo<User> findAll(int currentPage,String username) {
        PageInfo<User> pageInfo=new PageInfo<>();
        pageInfo.setSize(5);

        int tc=userDao.getTotalCount(username);
        pageInfo.setTotalCount(tc);
        int tp=(int)Math.ceil(tc/5.0);
        pageInfo.setTotalPage(tp);
        if (currentPage<1){
            pageInfo.setCurrentPage(1);
        }else if (currentPage>tp){
            pageInfo.setCurrentPage(tp);
        }else {
            pageInfo.setCurrentPage(currentPage);
        }
        int start=(pageInfo.getCurrentPage()-1)*5;
        List<User> userList=userDao.findAll(start,username);
        pageInfo.setList(userList);
        return pageInfo;
    }

    @Override
    public void deleteById(int id) {
        userDao.deleteById(id);
    }

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

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

    @Override
    public void update(User user) {
        userDao.update(user);
    }

    @Override
    public List<User> search(String username){
        return userDao.search(username);
    }

    @Override
    public void deleteAll(List<Integer> ids) {
        userDao.deleteAll(ids);
    }

}
function deleteAll() {
   var checkedNum=$("input[name='ids']:checked").length;
   alert(checkedNum);
   if (checkedNum==0){
      alert("请至少选择一个进行删除!");
      return;
   }
   if (confirm("确认要删除这些用户吗?")){
      var userList=new Array();
      $("input[name='ids']:checked").each(
            function () {
               userList.push($(this).val());

            }
      );
      alert(userList);
      $.ajax({
         type:"post",
         url:"${pageContext.request.contextPath}/user/deleteAll.do",
         data:{userList:userList.toString()},
         success:function () {
            alert("删除成功");
            location.reload();
         },
         error:function () {
            alert("删除失败");
         }
      });
   }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值