maven实现CRUD

第一步: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:删除管理员:

http://localhost:8080/BiSheShop/admin/deleteAdmin?uid=41

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值