SSM項目搭建(二)项目基本代码

首先附上项目目录:
在这里插入图片描述

一.package—com.ssm.controller(3个Controller文件)

1.UserController

package com.ssm.controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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;
import org.springframework.web.servlet.ModelAndView;

import com.ssm.model.Admin;
import com.ssm.model.User;
import com.ssm.service.UserService;

@Controller
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;
    /**
     * 获取所有用户列表
     * @param request
     * @param model
     * @return
     */
    @RequestMapping("/getAllUser.do")
    public ModelAndView getAllUser(HttpServletRequest request,ModelAndView mv,HttpSession session){
    	Admin a = (Admin)session.getAttribute("user");//从session获取到管理员对象
    	if(a!=null){
    		List<User> user = userService.findAll();
    		mv.addObject("userList",user);
            request.setAttribute("userList",user);
            mv.setViewName("admin/allUser");
    	}else{
    		mv.addObject("flag","你不是管理员");
    		mv.setViewName("error");
    	}
        return mv;
    }
    
    
    //用户登录验证
    @RequestMapping("/login.do")
    public ModelAndView login(User user,ModelAndView mv,HttpSession session){
    	User u = userService.login(user);
    	if(u!=null){
    		session.setAttribute("user", u);//将user放入session中
//    		session.removeAttribute("user"); //退出登录(清空session中该对象)
    		mv.addObject("username",u.getUsername());
			mv.setViewName("user/index");
    	}else{
    		mv.addObject("flag","用户名或密码错误");
    		mv.setViewName("error");
    	}
    	return mv;
    }
    
  //用户退出登录    和管理员用户共用
    @RequestMapping("/exit.do")
    public String exit(Model model,HttpSession session){
    	session.removeAttribute("user");
    	return "index";
    }
    
    //跳转到添加用户的界面
    @RequestMapping("/toAddUser.do")
    public String toAddUser()
    {
        return "addUser";
    }
    //用户注册
    @RequestMapping("/addUser.do")
    public ModelAndView addUser(User user,ModelAndView mv){
    	User u = userService.loginattemp(user);
    	if(u!=null){
    		mv.addObject("flag","用户名重复!");
			mv.setViewName("error");
    	}else{
    		userService.save(user);
    		mv.setViewName("redirect:/user/getAllUser.do");
    	}
    	return mv;
    }
    //修改用户个人信息
    @RequestMapping("/updateUser.do")
    public ModelAndView updateUser(User user,ModelAndView mv,HttpSession session){
    	Admin a = (Admin)session.getAttribute("user");//从session获取到管理员对象
    	User updateUser = (User)session.getAttribute("updateUser");
    	int i = updateUser.getId();
    	System.out.println(i);
    	user.setId(i);
    	try {
    		if(a!=null){
        		System.out.println(user);
        		int b = userService.update(user);
        		
        		System.out.println(b);
        		if(b!=0)
                {
                    user=userService.findById(user.getId());
                    
                    mv.addObject("user",user);
            		mv.setViewName("redirect:/user/getAllUser.do");
                    
                }
                else {
                	mv.addObject("flag","更新失败");
            		mv.setViewName("error");                
                }
        	}else{
        		mv.addObject("flag","您不是管理员");
        		mv.setViewName("error");
        	}
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}finally{
			session.removeAttribute("updateUser");
		}
    	
        return mv;
    }
    
    //获取到指定id的用户  然后跳转至editUser.jsp页面,用于修改用户个人信息
    @RequestMapping("/getUser.do")
    public ModelAndView getUser(int id,HttpSession session,ModelAndView mv){
    	User user = userService.findById(id);
    	session.setAttribute("updateUser", user);
    	
        mv.addObject("user",userService.findById(id));
        mv.setViewName("admin/editUser");
        return mv;
    }
    /**  
         * 删除用户  
         * @param id  
         * @param request  
         * @param response  
         */
    @RequestMapping("/deleteUser.do")
    public String deleteUser(int id,Model model,HttpServletResponse response){
    	
    	
    	if(userService.delete(id)!=false)
        {
            System.out.println("刪除成功");
            return "redirect:/user/getAllUser.do";
        }
        else {
        	System.out.println("刪除失敗");
            return "error";                    
        }
    }
    
    
}

2.AdminController

package com.ssm.controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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;
import org.springframework.web.servlet.ModelAndView;

import com.ssm.model.Admin;
import com.ssm.model.User;
import com.ssm.service.AdminService;
import com.ssm.service.UserService;


@Controller
@RequestMapping("/admin")
public class AdminController {
    @Autowired
    private AdminService adminService;
    private UserService userService;
    
  //管理员用户登录验证
    @RequestMapping("/adminLogin.do")
    public ModelAndView adminLogin(Admin admin,ModelAndView mv,HttpSession session){
    	Admin a = adminService.adminLogin(admin);
    	if(a!=null){
    		session.setAttribute("user", a);//这里使用key值为user 方便用户注销登录
    		mv.addObject("username",a.getUsername());
			mv.setViewName("admin/index");
    	}else{
    		mv.addObject("flag","用户名或密码错误");
    		mv.setViewName("error");
    	}
    	return mv;
    }
    
  //修改用户的权限等级(禁用该用户)
    @RequestMapping("/update_user_level.do")
    public ModelAndView update_user_level(int id,ModelAndView mv,HttpSession session){
    	Admin a = (Admin)session.getAttribute("user");//从session获取到管理员对象
    	if(a!=null){//如果该对像拥有管理员特有的信息truth_name(真实姓名)
    		User user = userService.findById(id);//查找到相应id的需要修改权限的用户(user)对象
    		user.setPower_level(3);//修改其权限为3(禁用所有权限  即停用状态)
    		boolean b = adminService.update_user_level(user);//修改其power_level字段(用户权限等级)
    		if(b=true){
    			mv.addObject("flag","修改成功");
        		mv.setViewName("/user/getAllUser.do");
    		}else{
    			mv.addObject("flag","修改失败");
        		mv.setViewName("/user/getAllUser.do");
    		}
    	}else{
    		mv.addObject("flag","你不是管理员");
    		mv.setViewName("/user/getAllUser.do");
    	}
    	
    	return mv;
    }
  
    
   
}

3.VideoController

package com.ssm.controller;

import java.util.HashMap;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
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;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

import com.ssm.model.User;
import com.ssm.model.Video;
import com.ssm.service.UserService;
import com.ssm.service.VideoService;


@Controller
@RequestMapping("/video")
public class VideoController {
	
	@Autowired
    private VideoService videoservice;
	
	//查询所有视频信息(未使用)
	@RequestMapping("/findVideoById.do")
	public ModelAndView findVideoById(@RequestParam int id,ModelAndView mv){
	    Video video = videoservice.findVideoById(id);
	    System.out.println(video);
	        
	    mv.addObject("video",video);
	    mv.setViewName("Video_info");
	    return mv;
	}
	
	//查询所有视频信息(未使用)
	@RequestMapping("/getAllVideo.do")
    public ModelAndView getAllUser(ModelAndView mv){
        List<Video> videos = videoservice.findAll();
        System.out.println(videos);
        
        mv.addObject("videos",videos);
		mv.setViewName("allVideo");
        return mv;
    }
	
	
	//查询所有视频(分页查询)
		@RequestMapping("/selectAllPage.do")
		public ModelAndView  selectMessage(@RequestParam(value="currentPage",defaultValue="1",required=false)int currentPage,ModelAndView mv){
			
			mv.addObject("pagemsg", videoservice.selectAllByPage(currentPage));
			//mv.addAttribute("pagemsg", videoservice.selectAllByPage(currentPage));//回显分页数据
			mv.setViewName("allVideo");
			return mv;
		}
	
	//selectVideoByLike
	//查询所有视频(有条件分页查询)
	@RequestMapping("/selectVideoByLike.do")
	public ModelAndView  selectVideoByLike(@RequestParam(value="currentPage",defaultValue="1",required=false)int currentPage,@RequestParam(value="string",defaultValue="")String string,ModelAndView mv,HttpSession session){
		session.setAttribute("selectName", string);//将user放入session中
		HashMap<String,Object> map = new HashMap<String,Object>();
		map.put("name", string);
		map.put("type", string);
		map.put("upmember", string);
		
		mv.addObject("pagemsg", videoservice.selectVideoByLike(currentPage,map));
		//mv.addAttribute("pagemsg", videoservice.selectAllByPage(currentPage));//回显分页数据
		mv.setViewName("allVideo_byLike");
		return mv;
	}
}

二.package—com.ssm.mapper(共6个文件:3个java文件对应3个Mapper文件)
在这里插入图片描述
1.1.UserMapper

package com.ssm.mapper;

import java.util.List;

import com.ssm.model.User;

public interface UserMapper {
	
	//登录查询用户表是否存在相应username和password的用户
	User login(User user);
	//用户名重复检测
	User loginattemp(User user);
	//添加用户
    void save(User user);
    //修改用户信息
    int update(User user);
    //删除用户
    boolean delete(int id);
    //查找指定id的用户
    User findById(int id);
    //查找所有用户
    List<User> findAll();
}

1.2.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.ssm.mapper.UserMapper">
    <!-- 普通用户登录 -->
    <select id="login" parameterType="User" resultType="User">
        SELECT * FROM user WHERE username=#{username} and password=#{password}
    </select>
    <!-- 用户名重复检测 -->
    <select id="loginattemp" parameterType="User" resultType="User">
        SELECT * FROM user WHERE username=#{username}
    </select>
    <!-- 添加 -->
    <insert id="save" parameterType="com.ssm.model.User">
        INSERT INTO user(id,username,password,sex,email,power_level) VALUES(#{id},#{username},#{password},#{sex},#{email},#{power_level})
    </insert>
    <!-- 修改 -->
    <update id="update" parameterType="com.ssm.model.User">
        UPDATE user
        <trim prefix="set" suffixOverrides=",">
		  <if test="username!=null">username=#{username},</if>
		  <if test="password!=null">password=#{password},</if>
		  <if test="sex!=null">sex=#{sex},</if>
		  <if test="email!=null">email=#{email},</if>
		 </trim>
        WHERE id=#{id}
    </update>
    <!-- 删除 -->
    <delete id="delete" parameterType="int">
        DELETE FROM user WHERE id=#{id}
    </delete>
    <!-- 查询 -->
    <select id="findById" parameterType="int" resultType="User">
        SELECT id,username,password,sex,email FROM user WHERE id=#{id}
    </select>
    <!-- 查询所有 -->
    <select id="findAll" resultType="User">
        SELECT id,username,password,sex,email,power_level FROM user
    </select>
    <!-- 分页 -->
    <select id="selectUsersByPage" parameterType="int" resultType="User">
           SELECT TOP 10 * FROM
        (SELECT ROW_NUMBER() OVER (ORDER BY ID) AS ROWNUMBER,* FROM user )
        AS A WHERE ROWNUMBER>10*(#{page}-1)
    </select>
</mapper>

2.1.AdminMapper

package com.ssm.mapper;

import com.ssm.model.Admin;
import com.ssm.model.User;


public interface AdminMapper {
	//管理员登录     查询管理员表是否存在相应username和password的管理员
	Admin adminLogin(Admin admin);
	//修改用户的权限等级
	boolean update_user_level(User user);
}

2.2.AdminMapper.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.ssm.mapper.AdminMapper">
    <!-- 管理员用户登录 -->
    <select id="adminLogin" parameterType="Admin" resultType="Admin">
        SELECT * FROM admin_user WHERE username=#{username} and password=#{password}
    </select>
    
    
    <!-- 修改 -->
    <update id="update_user_level" parameterType="User">
        UPDATE user SET user_level=#{user_level} where id=#{id}
    </update>
    
    <insert id="save" parameterType="com.ssm.model.User">
        INSERT INTO user(id,username,password,sex,email) VALUES(#{id},#{username},#{password},#{sex},#{email})
    </insert>
    
    <!-- 删除 -->
    <delete id="delete" parameterType="int">
        DELETE FROM user WHERE id=#{id}
    </delete>
    <!-- 查询 -->
    <select id="findById" parameterType="int" resultType="User">
        SELECT id,username,password,sex,email FROM user WHERE id=#{id}
    </select>
    <!-- 查询所有 -->
    <select id="findAll" resultType="User">
        SELECT id,username,password,sex,email FROM user
    </select>
</mapper>

3.1.VideoMapper

package com.ssm.mapper;

import java.util.HashMap;
import java.util.List;

import com.ssm.model.Video;
import com.ssm.util.Page;

public interface VideoMapper {
	//查找所有视频
	List<Video> findAll();
	Video findVideoById(Integer id);
	//按搜索类型查找视频(分页)
	Integer selectCountByLike(HashMap<String,Object> map);
	List<Video> selectVideoByLike(HashMap<String,Object> map);
	//查找所有视频(分页)
	Integer selectCount();
	List<Video> selectAllByPage(HashMap<String,Object> map);
	
}

3.2.VideoMapper.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.ssm.mapper.VideoMapper">
    <!-- 查询所有 -->
    <select id="findAll" resultType="Video">
        SELECT id,name,type,url,introduce,date_up,picture,play_num,upmember FROM video
    </select>
    
    <!-- 分页 -->
    <select id="selectCount" resultType="Integer">
	          select count(*) from video
	 </select>
	 <select id="selectAllByPage" parameterType="map" resultType="Video">
	         select * from video 
	         <if test="start!=null and size!=null">
	         limit #{start},#{size}
	         </if>     
	 </select>
	 
	<!-- 根据id查询单条视频数据 -->
    <select id="findVideoById" parameterType="Integer" resultType="Video">
        SELECT id,name,type,url,introduce,date_up,picture,play_num,upmember 
        FROM video WHERE id=#{id}
    </select>
    
    <!-- 模糊查询视频%like%符合类型的总个数 -->
    <select id="selectCountByLike" parameterType="map" resultType="Integer">
        SELECT count(*)
        FROM video WHERE name LIKE #{name} OR type LIKE #{type} OR upmember LIKE #{upmember}
        <!-- <if test="name!=null">
            OR name LIKE #{name}
        </if>
        <if test="type!=null">
            OR type LIKE #{type}
        </if>
        <if test="upmemeber!=null">
            OR upmember LIKE #{upmember}
        </if> -->
    </select>
    
    <!-- 模糊查询视频%like% -->
    <select id="selectVideoByLike" parameterType="map" resultType="Video">
        SELECT id,name,type,url,introduce,date_up,picture,play_num,upmember 
        FROM video WHERE name LIKE #{name} OR type LIKE #{type} OR upmember LIKE #{upmember}
        <!-- <if test="name!=null">
            OR name LIKE #{name}
        </if>
        <if test="type!=null">
            OR type LIKE #{type}
        </if>
        <if test="upmemeber!=null">
            OR upmember LIKE #{upmember}
        </if> -->
        <if test="start!=null and size!=null">
	        limit #{start},#{size}
	    </if> 
    </select>
    
    
    
    
    
    
    
    
    
</mapper>

三.package—com.ssm.model(3个文件)
在这里插入图片描述
1.User

package com.ssm.model;

import java.io.Serializable;

public class User implements Serializable{
    private int id;
    private String username;
    private String password;
    private String sex;
    private String email;
    private int power_level;//设置用户权限级别 0级可以增删改查1级可以增查2级只能查看3级为停用状态
    
	public User() {
		super();
	}

	public User(int id, String username, String password, String sex,
			String email, int power_level) {
		super();
		this.id = id;
		this.username = username;
		this.password = password;
		this.sex = sex;
		this.email = email;
		this.power_level = power_level;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public int getPower_level() {
		return power_level;
	}

	public void setPower_level(int power_level) {
		this.power_level = power_level;
	}
    
	@Override
    public String toString() {
        return "User [id=" + id + ", username=" + username + ", password="
                + password + ", sex=" + sex + ", email=" + email + ","
                		+ "power_level=" + power_level + "]";
    }
	
}

2.Admin

package com.ssm.model;

public class Admin {
	private int id;
	private String username;
	private String password;
	private String truth_name;
	private String sex;
	private String phone;
	
	public Admin() {
		super();
	}

	public Admin(int id, String username, String password, String truth_name,
			String sex, String phone) {
		super();
		this.id = id;
		this.username = username;
		this.password = password;
		this.truth_name = truth_name;
		this.sex = sex;
		this.phone = phone;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getTruth_name() {
		return truth_name;
	}

	public void setTruth_name(String truth_name) {
		this.truth_name = truth_name;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}
	
	
}

3.Video

package com.ssm.model;

public class Video {
	private int id;
	private String name;
	private String type;
	private String url;
	private String introduce;
	private String date_up;
	private String picture;
	private int play_num;
	private String upmember;
	
	public Video() {
		super();
	}

	public Video(int id, String name, String type, String url,
			String introduce, String date_up, String picture, int play_num,
			String upmember) {
		super();
		this.id = id;
		this.name = name;
		this.type = type;
		this.url = url;
		this.introduce = introduce;
		this.date_up = date_up;
		this.picture = picture;
		this.play_num = play_num;
		this.upmember = upmember;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getIntroduce() {
		return introduce;
	}

	public void setIntroduce(String introduce) {
		this.introduce = introduce;
	}

	public String getDate_up() {
		return date_up;
	}

	public void setDate_up(String date_up) {
		this.date_up = date_up;
	}

	public String getPicture() {
		return picture;
	}

	public void setPicture(String picture) {
		this.picture = picture;
	}

	public int getPlay_num() {
		return play_num;
	}

	public void setPlay_num(int play_num) {
		this.play_num = play_num;
	}

	public String getUpmember() {
		return upmember;
	}

	public void setUpmember(String upmember) {
		this.upmember = upmember;
	}
	
	
}

四.package—com.ssm.service(3个文件)

1.UserService
在这里插入图片描述

package com.ssm.service;
import java.util.List;
import com.ssm.model.User;

public interface UserService {
 
 User login(User user);
 User loginattemp(User user);
 void save(User user);
 int update(User user);
 boolean delete(int id);
 User findById(int id);
 List<User> findAll();
}

2.AdminService

package com.ssm.service;
import java.util.List;

import com.ssm.model.Admin;
import com.ssm.model.User;

public interface AdminService {
	//管理员登录     查询管理员表是否存在相应username和password的管理员
	Admin adminLogin(Admin admin);
	//修改用户的权限等级
	boolean update_user_level(User user);
}

3.VideoService

package com.ssm.service;

import java.util.HashMap;
import java.util.List;

import com.ssm.model.Video;
import com.ssm.util.Page;

public interface VideoService {
	//查找所有视频
	List<Video> findAll();
	Video findVideoById(Integer id);
	//按搜索类型查找视频(分页)
	Integer selectCountByLike(HashMap<String,Object> map);
	Page<Video> selectVideoByLike(Integer currentPage,HashMap<String,Object> map);
	//查找所有视频(分页)
	Integer selectCount();
	Page<Video> selectAllByPage(Integer currentPage);
	
}

五.package—com.ssm.service.impl(3个文件,分别具体实现了3个service接口功能的代码)
在这里插入图片描述
1.UserServiceImpl

package com.ssm.service.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.ssm.mapper.UserMapper;
import com.ssm.model.User;
import com.ssm.service.UserService;

@Service
@Transactional
public class UserServiceImpl implements UserService{

    @Resource
    private UserMapper usermapper;
    
    
    @Override
    //用户登录
    public User login(User user) {
        // TODO Auto-generated method stub
        return usermapper.login(user);
    }
    
    @Override
    //用户名重复检测
    public User loginattemp(User user) {
        // TODO Auto-generated method stub
        return usermapper.loginattemp(user);
    }
    
    @Override
    public void save(User user) {
        // TODO Auto-generated method stub
        usermapper.save(user);
    }

    @Override
    public int update(User user) {
        // TODO Auto-generated method stub
        return usermapper.update(user);
    }

    @Override
    public boolean delete(int id) {
        // TODO Auto-generated method stub
        return usermapper.delete(id);
    }

    @Override
    public User findById(int id) {
        // TODO Auto-generated method stub
        User user=usermapper.findById(id);
        return user;
    }

    @Override
    public List<User> findAll() {
        // TODO Auto-generated method stub
        List<User> findAllList=usermapper.findAll();
        return findAllList;
    }
}

2.AdminServiceImpl

package com.ssm.service.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.ssm.mapper.AdminMapper;
import com.ssm.model.Admin;
import com.ssm.model.User;
import com.ssm.service.AdminService;

@Service
@Transactional
public class AdminServiceImpl implements AdminService{

    @Resource
    private AdminMapper adminmapper;
    
    @Override
    //管理员登录
    public Admin adminLogin(Admin admin){
    	
    	return adminmapper.adminLogin(admin);
    }
    
    @Override
  //修改用户的权限等级
    public boolean update_user_level(User user){
    	return adminmapper.update_user_level(user);
    }
   
}

3.VideoServiceImpl

package com.ssm.service.impl;

import java.util.HashMap;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.ssm.mapper.UserMapper;
import com.ssm.mapper.VideoMapper;
import com.ssm.model.User;
import com.ssm.model.Video;
import com.ssm.service.UserService;
import com.ssm.service.VideoService;
import com.ssm.util.Page;


@Service
@Transactional
public class VideoServiceImpl implements VideoService{
	
	@Resource
    private VideoMapper videomapper;
	
	@Override
    //查找所有视频
    public List<Video> findAll() {
        // TODO Auto-generated method stub
        return videomapper.findAll();
    }
	
	@Override
    //查找视频根据id
    public Video findVideoById(Integer id) {
        // TODO Auto-generated method stub
        return videomapper.findVideoById(id);
    }
	
	//查找所有视频(分页)
		@Override
		public Integer selectCount() {
			// TODO Auto-generated method stub
			return videomapper.selectCount();
		}
		//分页
		@Override
		public Page<Video> selectAllByPage(Integer currentPage) {
			HashMap<String,Object> map = new HashMap<String,Object>();
	        Page<Video> page = new Page<Video>();
	        //封装当前页数
	        
	        page.setCurrPage(currentPage);
	        //每页显示的数据
	        Integer pageSize=8;
	        page.setPageSize(pageSize);
	        //封装总记录数
	        Integer totalCount = videomapper.selectCount();
	        page.setTotalCount(totalCount);
	        //封装总页数
	        double tc = totalCount;
	        Double num = Math.ceil(tc/pageSize);//向上取整
	        page.setTotalPage(num.intValue());
	        
	        map.put("start", (currentPage-1)*pageSize);
	        map.put("size", page.getPageSize());
	        //封装每页显示的数据
	        List<Video> lists = videomapper.selectAllByPage(map);
	        page.setList(lists);
	        
	        
			return page;
		}
		
		//按搜索类型查找视频(分页)
		@Override
		public Integer selectCountByLike(HashMap<String,Object> map){
			// TODO Auto-generated method stub
			return videomapper.selectCountByLike(map);
		}
		
		@Override
		public Page<Video> selectVideoByLike(Integer currentPage,HashMap<String,Object> map) {
//			HashMap<String,Object> map = new HashMap<String,Object>();
	        Page<Video> page = new Page<Video>();
	        //封装当前页数
	        
	        page.setCurrPage(currentPage);
	        //每页显示的数据
	        Integer pageSize=8;
	        page.setPageSize(pageSize);
	        //封装总记录数
	        Integer totalCount = videomapper.selectCountByLike(map);
	        page.setTotalCount(totalCount);
	        System.out.println("搜索到"+totalCount+"条相关数据");
	        //封装总页数
	        double tc = totalCount;
	        Double num = Math.ceil(tc/pageSize);//向上取整
	        page.setTotalPage(num.intValue());
	        
	        
	        map.put("start", (currentPage-1)*pageSize);
	        map.put("size", page.getPageSize());
	        //封装每页显示的数据
	        List<Video> lists = videomapper.selectVideoByLike(map);
	        page.setList(lists);
	        
	        
			return page;
		}
		
		
		
		
		
		
		
		
		
		
}

六.package—com.ssm.util (这是一个工具类,用来分页)
在这里插入图片描述
1.Page

package com.ssm.util;

import java.util.List;

public class Page<T> {
	private Integer currPage;//当前页数
    private Integer totalCount;//总记录数
    private Integer pageSize;//每页显示的记录数
    private Integer totalPage;//总页数
    private List<T> list;//封装某个页面
    
	public Page(Integer currPage, Integer totalCount, Integer pageSize,
			Integer totalPage, List<T> list) {
		super();
		this.currPage = currPage;
		this.totalCount = totalCount;
		this.pageSize = pageSize;
		this.totalPage = totalPage;
		this.list = list;
	}
	public Page() {
		super();
	}
	public Integer getCurrPage() {
		return currPage;
	}
	public void setCurrPage(Integer currPage) {
		this.currPage = currPage;
	}
	public Integer getTotalCount() {
		return totalCount;
	}
	public void setTotalCount(Integer totalCount) {
		this.totalCount = totalCount;
	}
	public Integer getPageSize() {
		return pageSize;
	}
	public void setPageSize(Integer pageSize) {
		this.pageSize = pageSize;
	}
	public Integer getTotalPage() {
		return totalPage;
	}
	public void setTotalPage(Integer totalPage) {
		this.totalPage = totalPage;
	}
	public List<T> getList() {
		return list;
	}
	public void setList(List<T> list) {
		this.list = list;
	}
    
    
}

以上,是所有后端代码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值