简单的mybatis增删改查模板:

<?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.suneee.scn.chtpub.wms.dao.UserDao"> <select id="queryPage" resultType="com.suneee.scn.chtpub.wms.model.UserDO" parameterType="java.util.Map"> SELECT
id as id,
whid as whid,
userid as userid,
usercode as usercode,
department as department
FROM
sp_users
WHERE
1 = 1
<if test="whid !=null and whid != '' ">
AND whid = #{whid,jdbcType=VARCHAR}
</if> <if test="userid !=null and userid != '' ">
AND userid = #{userid,jdbcType=VARCHAR}
</if>
<if test="usercode !=null and usercode != '' ">
AND usercode = #{usercode,jdbcType=VARCHAR}
</if> <if test="department !=null and department != '' ">
AND department = #{department,jdbcType=VARCHAR}
</if> limit #{pageSize,jdbcType=NUMERIC} offset #{start,jdbcType=NUMERIC}
</select> <select id="getModelTotal" resultType="int" parameterType="java.util.Map"> SELECT
count(1)
FROM
sp_users
WHERE
1 = 1
<if test="whid !=null and whid != '' ">
AND whid = #{whid,jdbcType=VARCHAR}
</if> <if test="userid !=null and userid != '' ">
AND userid = #{userid,jdbcType=VARCHAR}
</if>
<if test="usercode !=null and usercode != '' ">
AND usercode = #{usercode,jdbcType=VARCHAR}
</if> <if test="department !=null and department != '' ">
AND department = #{department,jdbcType=VARCHAR}
</if>
</select> <select id="checkListIfExist" resultType="com.suneee.scn.chtpub.wms.model.UserDO" parameterType="java.util.Map"> SELECT
usercode as usercode
FROM
sp_users
WHERE
1=1
<if test="usercode !=null and usercode != '' ">
AND usercode = #{usercode,jdbcType=VARCHAR}
</if>
</select> <insert id="insertModel" parameterType="java.util.Map"> INSERT INTO sp_users
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="whid != null and whid != '' ">
whid,
</if>
<if test="userid != null and userid != '' ">
userid,
</if>
<if test="usercode != null and usercode != '' ">
usercode,
</if>
<if test="department != null and department != '' ">
department,
</if> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <if test="whid != null and whid != '' ">
#{whid,jdbcType=VARCHAR},
</if>
<if test="userid != null and userid != '' ">
#{userid,jdbcType=VARCHAR},
</if>
<if test="usercode != null and usercode != '' ">
#{usercode,jdbcType=VARCHAR},
</if>
<if test="department != null and department != '' ">
#{department,jdbcType=VARCHAR},
</if> </trim>
</insert> <delete id="deleteModel" parameterType="java.lang.Integer">
DELETE FROM
sp_users
WHERE
id = #{id,jdbcType=NUMERIC}
</delete> <select id="initQuery" parameterType="java.lang.Integer" resultType="com.suneee.scn.chtpub.wms.model.UserDO">
SELECT
id,
whid,
userid,
usercode,
department
FROM
sp_users
WHERE
1 = 1
AND id = #{id,jdbcType=NUMERIC} </select> <update id="updateModel" parameterType="java.util.Map">
UPDATE
sp_users
SET
whid = #{whid,jdbcType=VARCHAR},
<!-- userid = #{userid,jdbcType=VARCHAR}, -->
usercode = #{usercode,jdbcType=VARCHAR},
department = #{department,jdbcType=VARCHAR} WHERE
1=1
AND
id = #{id,jdbcType=NUMERIC} </update> </mapper>

简单的单表CRUD,parameterType和resultType都可以用实体Model代替,自动映射。

复杂多表的CRUD,parameterType要用map,在service里面要设置好对应的map K-V值,result一般用自定义的映射resultMap,里面定义了不同表字段对应的一个大Bean的映射,这里不能用resultType了!例如:

<resultMap id="BaseResultMap" type="com.suneee.scn.chtpub.wms.model.SuppCargoDO">
<id column="workqid" property="workqid" jdbcType="VARCHAR" />
<result column="description" property="description" jdbcType="VARCHAR" />
<result column="itemnumber" property="itemnumber" jdbcType="VARCHAR" />
<result column="whid" property="whid" jdbcType="VARCHAR" />
<result column="locationid" property="locationid" jdbcType="VARCHAR" />
<result column="workstatus" property="workstatus" jdbcType="VARCHAR" />
<result column="qty" property="qty" jdbcType="NUMERIC" />
<result column="zone" property="zone" jdbcType="VARCHAR" />
<result column="employeeid" property="employeeid" jdbcType="VARCHAR" />
<result column="datedue" property="datedue" jdbcType="VARCHAR" />
</resultMap>

service层的代码:

package com.suneee.scn.chtpub.wms.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import com.alibaba.dubbo.common.json.JSONObject;
import com.suneee.scn.chtpub.wms.common.util.DictUtil;
import com.suneee.scn.chtpub.wms.common.util.Page;
import com.suneee.scn.chtpub.wms.dao.UserDao;
import com.suneee.scn.chtpub.wms.model.DictionaryDO;
import com.suneee.scn.chtpub.wms.model.UserDO;
import com.suneee.scn.chtpub.wms.model.UserSearchDTO; @Service("userService")
public class UserService { @Autowired
UserDao userDao; public int updateModel(UserDO bean) {
Map<String,Object> reqMap = new HashMap<String, Object>();
reqMap.put("id",bean.getId());
reqMap.put("whid",bean.getWhid());
// reqMap.put("userid",bean.getUserid());
reqMap.put("usercode",bean.getUsercode());
reqMap.put("department",bean.getDepartment());
int result = userDao.updateModel(reqMap);
return result;
} public UserDO initQuery(int id) {
return userDao.initQuery(id);
} public void deleteModel(Integer id) {
Map<String, Object> reqMap = new HashMap<String, Object>();
reqMap.put("id",id);
userDao.deleteModel(reqMap);
} public int insertModel(UserDO bean) {
Map<String, Object> reqMap = new HashMap<String, Object>();
reqMap.put("whid",bean.getWhid());
reqMap.put("userid",bean.getUserid());
reqMap.put("usercode",bean.getUsercode());
reqMap.put("department",bean.getDepartment()); return userDao.insertModel(reqMap);
} public List<UserDO> checkListIfExist(JSONObject reqJson) {
Map<String, Object> reqMap = new HashMap<String, Object>();
String checkcode = reqJson.getString(DictUtil.User_ID); reqMap.put("usercode", checkcode);
return userDao.checkListIfExist(reqMap);
} public Page<UserDO> queryPage(Page<UserDO> page, UserSearchDTO bean) {
int pageNo = page.getPageNo();
int pageSize = page.getPageSize(); // 页大小
int start = (pageNo -1)*pageSize; Map<String,Object> reqMap = new HashMap<String, Object>(); reqMap.put("start", start);
reqMap.put("pageSize", pageSize); reqMap.put("whid",bean.getWhid());
reqMap.put("userid",bean.getUserid());
reqMap.put("usercode",bean.getUsercode());
reqMap.put("department",bean.getDepartment()); List<UserDO> listIfExist = userDao.queryPage(reqMap); page.setResults(listIfExist); int totalCount = userDao.getModelTotal(reqMap); page.setTotalCount(totalCount); // 总条数
int totalPageCount =totalCount%pageSize==0?totalCount/pageSize:totalCount/pageSize+1;
page.setPageCount(totalPageCount);
return page; }
}

【Mybatis】简单的mybatis增删改查模板的更多相关文章

  1. MyBatis学习系列二——增删改查

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...

  2. Mybatis实现数据的增删改查

    Mybatis实现数据的增删改查 1.项目结构(使用maven创建项目) 2.App.java package com.GetcharZp.MyBatisStudy; import java.io.I ...

  3. salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建

    VisualForce封装了很多的标签用来进行页面设计,本篇主要讲述简单的页面增删改查.使用的内容和设计到前台页面使用的标签相对简单,如果需要深入了解VF相关知识以及标签, 可以通过以下链接查看或下载 ...

  4. 【转载】salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建

    salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建   VisualForce封装了很多的标签用来进行页面设计,本篇主要讲述简单的页面增删改查.使用的内容和设计到前台页面使用的 ...

  5. MyBatis增删改查模板

    1. 首先,和Spring整合一下 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=& ...

  6. SSM-MyBatis-02:Mybatis最基础的增删改查(查全部和查单独一个)

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 继续上次的开始,这次记录的是增删改查,上次重复过的代码不做过多解释 首先先创建mysql的表和实体类Book ...

  7. Mybatis实现部门表增删改查以及排序

    废话不说,直接开门见山! 需要在WebContent下的lib下导入两个包 mybatis-3.2.5.jar ojdbc6.jar package com.xdl.entity; import ja ...

  8. Mybatis框架二:增删改查

    这里是搭建框架和准备数据: http://www.cnblogs.com/xuyiqing/p/8600888.html 实现增删改查功能: 测试类: package junit; import ja ...

  9. Mybatis(3) 映射文件-增删改查

    映射文件: 映射文件是根据数据库模型生成的编写sql脚本xml文件, mapper标签中namespace属性值为对应模型实体类的全类名. <?xml version="1.0&quo ...

随机推荐

  1. Unity CombineTexture

    public Texture2D CombineTexture(Texture2D background, Texture2D top) { int width = background.width; ...

  2. Sublime Text3.0的安装

    Sublime Text是一款轻量级的易于使用的前端编写软件,个人比较推荐. 找到Sublime的官网,下载对应的版本后,点击安装.安装完成后需要下载相应的插件才能进行更加 有效率的开发工作.编写前端 ...

  3. arduino蜂鸣器的使用

    一:蜂鸣器的使用 控制要求:模拟救护车响声 实物连接图: 电路原理图: 控制代码: //智慧自动化2018.6.11 ;//设置控制蜂鸣器的数字IO脚 void setup() { pinMode(b ...

  4. 使用Photon引擎进行unity网络游戏开发(二)——Photon常用类介绍

    使用Photon引擎进行unity网络游戏开发(二)——Photon常用类介绍 Photon PUN Unity 网络游戏开发 Photon常用类介绍: IPunCallback PUNGIPunCa ...

  5. Redis 哨兵 Sentinel

    Redis Sentinel:redis集群应用,分布式系统.   多个Sentinal进程之间通过 gossip 协议来接收主服务器是否下线的信息,通过 Raft 一致性协议来决定故障转移及转移服务 ...

  6. IDE看代码,挺好

    初学编程的时候总是收到各种警告:“刚学习编程千万不要用IDE,否则会有xxxxxx的后果”.现在工作后发现使用IDE可以方便编写和查看代码,对于较大的项目来说有很多代码,代码之间的关系也比较复杂,ID ...

  7. HIVE中的数据怎么导出到hdfs或本地呢

    思路一:重定向 在我不知道工具 ,也不熟悉HIQL语法的情况下,没办法了,只有选择一个最简单粗暴的方法,重定向. 在shell中使用 hive -e 可以在shell中执行hive命令,hive -f ...

  8. 算法笔记(c++)--回文

    算法笔记(c++)--回文 #include<iostream> #include<algorithm> #include<vector> using namesp ...

  9. Linux学习——echo和read命令用法

    转载自http://www.runoob.com/linux/linux-comm-read.html http://www.178linux.com/76331 echo命令 本文列举了echo命令 ...

  10. USACO 1.3.4 Prime Cryptarithm 牛式(模拟枚举)

    Description 下面是一个乘法竖式,如果用我们给定的那n个数字来取代*,可以使式子成立的话,我们就叫这个式子牛式. * * * x * * ------- * * * * * * ------ ...