第一步:POJO
package com.gqz.shop.pojo;
public class Adminuser {
private Integer uid;
private String username;
private String password;
private String type;
private Integer state;
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username == null ? null : username.trim();
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password == null ? null : password.trim();
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type == null ? null : type.trim();
}
public Integer getState() {
return state;
}
public void setState(Integer state) {
this.state = state;
}
}
第二步:Dao层
package com.gqz.shop.mapper;
import com.gqz.shop.pojo.Adminuser;
import com.gqz.shop.pojo.AdminuserExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface AdminuserMapper {
int countByExample(AdminuserExample example);
int deleteByExample(AdminuserExample example);
// 根据ID删除
int deleteByPrimaryKey(Integer uid);
int insert(Adminuser record);
// 添加 adminuser
int insertSelective(Adminuser record);
// 管理员列表
List<Adminuser> selectByExample(AdminuserExample example);
// 根据id查询adminuser
Adminuser selectByPrimaryKey(Integer uid);
int updateByExampleSelective(@Param("record") Adminuser record, @Param("example") AdminuserExample example);
int updateByExample(@Param("record") Adminuser record, @Param("example") AdminuserExample example);
// 修改adminuser的信息
int updateByPrimaryKeySelective(Adminuser record);
int updateByPrimaryKey(Adminuser record);
// 逆向工程 end
//自定义
Adminuser selectByUsername(String username,String password);
}
第三步: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.gqz.shop.mapper.AdminuserMapper" >
<resultMap id="BaseResultMap" type="com.gqz.shop.pojo.Adminuser" >
<id column="uid" property="uid" jdbcType="INTEGER" />
<result column="username" property="username" jdbcType="VARCHAR" />
<result column="password" property="password" jdbcType="VARCHAR" />
<result column="type" property="type" jdbcType="VARCHAR" />
<result column="state" property="state" jdbcType="INTEGER" />
</resultMap>
<sql id="Example_Where_Clause" >
<where >
<foreach collection="oredCriteria" item="criteria" separator="or" >
<if test="criteria.valid" >
<trim prefix="(" suffix=")" prefixOverrides="and" >
<foreach collection="criteria.criteria" item="criterion" >
<choose >
<when test="criterion.noValue" >
and ${criterion.condition}
</when>
<when test="criterion.singleValue" >
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue" >
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue" >
and ${criterion.condition}
<foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause" >
<where >
<foreach collection="example.oredCriteria" item="criteria" separator="or" >
<if test="criteria.valid" >
<trim prefix="(" suffix=")" prefixOverrides="and" >
<foreach collection="criteria.criteria" item="criterion" >
<choose >
<when test="criterion.noValue" >
and ${criterion.condition}
</when>
<when test="criterion.singleValue" >
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue" >
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue" >
and ${criterion.condition}
<foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List" >
uid, username, password, type, state
</sql>
<select id="selectByExample" resultMap="BaseResultMap" parameterType="com.gqz.shop.pojo.AdminuserExample" >
select
<if test="distinct" >
distinct
</if>
<include refid="Base_Column_List" />
from adminuser
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null" >
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from adminuser
where uid = #{uid,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from adminuser
where uid = #{uid,jdbcType=INTEGER}
</delete>
<delete id="deleteByExample" parameterType="com.gqz.shop.pojo.AdminuserExample" >
delete from adminuser
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.gqz.shop.pojo.Adminuser" >
insert into adminuser (uid, username, password,
type, state)
values (#{uid,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR},
#{type,jdbcType=VARCHAR}, #{state,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="com.gqz.shop.pojo.Adminuser" >
insert into adminuser
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="uid != null" >
uid,
</if>
<if test="username != null" >
username,
</if>
<if test="password != null" >
password,
</if>
<if test="type != null" >
type,
</if>
<if test="state != null" >
state,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="uid != null" >
#{uid,jdbcType=INTEGER},
</if>
<if test="username != null" >
#{username,jdbcType=VARCHAR},
</if>
<if test="password != null" >
#{password,jdbcType=VARCHAR},
</if>
<if test="type != null" >
#{type,jdbcType=VARCHAR},
</if>
<if test="state != null" >
#{state,jdbcType=INTEGER},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.gqz.shop.pojo.AdminuserExample" resultType="java.lang.Integer" >
select count(*) from adminuser
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map" >
update adminuser
<set >
<if test="record.uid != null" >
uid = #{record.uid,jdbcType=INTEGER},
</if>
<if test="record.username != null" >
username = #{record.username,jdbcType=VARCHAR},
</if>
<if test="record.password != null" >
password = #{record.password,jdbcType=VARCHAR},
</if>
<if test="record.type != null" >
type = #{record.type,jdbcType=VARCHAR},
</if>
<if test="record.state != null" >
state = #{record.state,jdbcType=INTEGER},
</if>
</set>
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map" >
update adminuser
set uid = #{record.uid,jdbcType=INTEGER},
username = #{record.username,jdbcType=VARCHAR},
password = #{record.password,jdbcType=VARCHAR},
type = #{record.type,jdbcType=VARCHAR},
state = #{record.state,jdbcType=INTEGER}
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.gqz.shop.pojo.Adminuser" >
update adminuser
<set >
<if test="username != null" >
username = #{username,jdbcType=VARCHAR},
</if>
<if test="password != null" >
password = #{password,jdbcType=VARCHAR},
</if>
<if test="type != null" >
type = #{type,jdbcType=VARCHAR},
</if>
<if test="state != null" >
state = #{state,jdbcType=INTEGER},
</if>
</set>
where uid = #{uid,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.gqz.shop.pojo.Adminuser" >
update adminuser
set username = #{username,jdbcType=VARCHAR},
password = #{password,jdbcType=VARCHAR},
type = #{type,jdbcType=VARCHAR},
state = #{state,jdbcType=INTEGER}
where uid = #{uid,jdbcType=INTEGER}
</update>
<!-- 自定义的 -->
<select id="selectByUsername" resultMap="BaseResultMap" parameterType="com.gqz.shop.pojo.Adminuser" >
select
<include refid="Base_Column_List" />
from adminuser
where username = #{username,jdbcType=VARCHAR} and password =#{password,jdbcType=VARCHAR}
</select>
</mapper>
第四步:Service层:
package com.gqz.shop.service;
import java.util.List;
import com.github.pagehelper.PageInfo;
import com.gqz.shop.pojo.Adminuser;
/**
*
* @ClassName: AdminuserService
* @Description: Adminuser服务接口
*/
public interface AdminuserService {
//login 登录
public Adminuser login(String username,String password);
//获取adminlist
public List<Adminuser> getAdminUserList();
public List<Adminuser> selectAdminuserByTerm(Adminuser adminuser);
// 根据id查询adminuser
public Adminuser getAdminuserById(Integer uid);
// 修改adminuser的信息
public int adminModify(Adminuser adminuser);
// 添加 adminuser
public int addAdmin(Adminuser adminuser);
// 删除 adminuser
public int deleteAdmin(Integer uid);
public PageInfo<Adminuser> getAdminListByPage(int page,int pageSize);
}
第五步:Service接口实现层:
package com.gqz.shop.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.gqz.shop.mapper.AdminuserMapper;
import com.gqz.shop.pojo.Adminuser;
import com.gqz.shop.pojo.AdminuserExample;
import com.gqz.shop.pojo.AdminuserExample.Criteria;
import com.gqz.shop.service.AdminuserService;
@Service
public class AdminuserServiceImpl implements AdminuserService {
@Autowired
private AdminuserMapper adminuserMapper;
// 登录后台
/*
* public Adminuser login(String username,String password) { Adminuser
* adminuser=null; adminuser = adminuserMapper.selectByUsername(username,
* password); return adminuser; }
*/
public Adminuser login(String username, String password) {
AdminuserExample adminuserExample = new AdminuserExample();
Criteria criteria = adminuserExample.createCriteria();
criteria.andUsernameEqualTo(username);
criteria.andPasswordEqualTo(password);
List<Adminuser> adminusers = adminuserMapper
.selectByExample(adminuserExample);
if (adminusers.size() == 0) {
return null;
}
return adminusers.get(0);
}
// 管理员列表
public List<Adminuser> getAdminUserList() {
AdminuserExample example = new AdminuserExample();
List<Adminuser> list = adminuserMapper.selectByExample(example);
return list;
}
// 条件查询
public List<Adminuser> selectAdminuserByTerm(Adminuser adminuser) {
AdminuserExample example = new AdminuserExample();
Criteria adminuserCriteria = example.createCriteria();
if (adminuser.getUsername() != null
&& !"".equals(adminuser.getUsername())) {
adminuserCriteria.andUsernameLike("%" + adminuser.getUsername()
+ "%");
}
if ("1".equals(adminuser.getType()) || "2".equals(adminuser.getType())) {
adminuserCriteria.andTypeLike(adminuser.getType());
}
List<Adminuser> list = adminuserMapper.selectByExample(example);
return list;
}
// 根据id查询adminuser
public Adminuser getAdminuserById(Integer uid) {
return adminuserMapper.selectByPrimaryKey(uid);
}
// 修改adminuser的信息
public int adminModify(Adminuser adminuser) {
int updateByPrimaryKey = adminuserMapper
.updateByPrimaryKeySelective(adminuser);
return updateByPrimaryKey;
}
// 添加 adminuser
public int addAdmin(Adminuser adminuser) {
adminuser.setState(0);
int insertSelective = adminuserMapper.insertSelective(adminuser);
return insertSelective;
}
//删除管理员
public int deleteAdmin(Integer uid) {
int deleteByPrimaryKey = adminuserMapper.deleteByPrimaryKey(uid);
return deleteByPrimaryKey;
}
public PageInfo<Adminuser> getAdminListByPage(int page, int pageSize) {
// 获取第1页,10条内容,默认查询总数count
PageHelper.startPage(page, pageSize);
AdminuserExample adminuserExample = new AdminuserExample();
List<Adminuser> list = adminuserMapper
.selectByExample(adminuserExample);
// 分页时,实际返回的结果list类型是Page<E>,如果想取出分页信息,需要强制转换为Page<E>
PageInfo<Adminuser> pageInfo = new PageInfo<Adminuser>(list);
return pageInfo;
}
}
第六步:Controller
package com.gqz.shop.controller;
import java.io.File;
import java.util.List;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.github.pagehelper.PageInfo;
import com.gqz.shop.hdfs.FileOperate;
import com.gqz.shop.hdfs.HDFSOperate;
import com.gqz.shop.hdfs.MainClass;
import com.gqz.shop.pojo.Adminuser;
import com.gqz.shop.service.AdminuserService;
import com.gqz.shop.util.MyException;
@Controller
@RequestMapping("/admin")
public class AdminuserController {
@Autowired
private AdminuserService adminuserService;
// 后台登录
@RequestMapping("/login")
public String login(Adminuser adminuser, HttpSession session) {
Adminuser admin = adminuserService.login(adminuser.getUsername(),adminuser.getPassword());
if (admin != null) {
session.setAttribute("adminuser", admin);
return "index";
}
return "login";
}
// 根据用户名和管理员类型进行迷糊查询
@RequestMapping("/selectAdminuserByTerm")
public ModelAndView selectAdminuserByTerm(Adminuser adminuser) {
List<Adminuser> list = adminuserService.selectAdminuserByTerm(adminuser);
ModelAndView modelAndView = new ModelAndView();
if (list == null || list.size() == 0) {
modelAndView.addObject("msg", "没有查询结果,请更换查询条件!");
} else {
modelAndView.addObject("adminlist", list);
}
modelAndView.setViewName("admin_list");
return modelAndView;
}
//管理员列表
@RequestMapping("/adminlist")
public ModelAndView adminlist() throws MyException {
List<Adminuser> list = adminuserService.getAdminUserList();
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("adminlist", list);
// modelAndView.setViewName("/admin/admin_list.jsp");
modelAndView.setViewName("admin_list");
return modelAndView;
}
// 修改
@RequestMapping("adminModify")
public String adminModify(Adminuser adminuser) {
// 访问services
adminuserService.adminModify(adminuser);
// 重定向页面
return "redirect:/admin/adminlist";
}
// 添加
@RequestMapping("/addAdmin")
public String addAdmin(Adminuser adminuser) {
// 访问services
adminuserService.addAdmin(adminuser);
// 重定向页面
return "redirect:adminlist";
}
// 删除
@RequestMapping("/deleteAdmin")
@ResponseBody()
public String deleteAdmin(Integer uid) {
adminuserService.deleteAdmin(uid);
return "ok";
}
// 通过分页查询管理员列表
@RequestMapping("/adminListByPage")
@ResponseBody()
public PageInfo<Adminuser> adminListByPage(int page, int pageSize) {
return adminuserService.getAdminListByPage(page, pageSize);
}
// 使用RESTful风格
@RequestMapping("/adminEdit/{uid}")
public ModelAndView adminEdit(@PathVariable() Integer uid) {
// 访问services
Adminuser admin = adminuserService.getAdminuserById(uid);
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("admin", admin);
modelAndView.setViewName("/admin/edit_admin");
return modelAndView;
}
// @ResponseBody() 注解
@RequestMapping("/batchDel")
@ResponseBody()
public String batchDelAdmin(@RequestParam(value = "uIds[]") Integer[] uIds) {
for (int i = 0; i < uIds.length; i++) {
adminuserService.deleteAdmin(uIds[i]);
}
return "ok";
}
}
第七步:测试:
1:查询管理员列表:
http://localhost:8080/BiSheShop/admin/adminlist
2:添加管理员列表:
http://localhost:8080/BiSheShop/admin/addAdmin?username=admin2336&password=admin
3:修改管理员:
http://localhost:8080/BiSheShop/admin/adminModify?username=admin26666&uid=41
4:删除管理员: