简单的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. day1 创建X00001文件1K

    要求:创建文件名为:X000001-X999999,大小为1K 的文件 版本1) import os #1.输入要创建的文件数量 nums = int(input("nums:") ...

  2. 1130: [POI2008]POD Subdivision of Kingdom

    1130: [POI2008]POD Subdivision of Kingdom https://lydsy.com/JudgeOnline/problem.php?id=1130 分析: 有效状态 ...

  3. android studio提交到开源git时出现:fatal: refusing to merge unrelated histories的解决办法

    创建本地库和fetch远程分支这些前面的步骤这里略过.可以自行百度. 解决办法: 1.cmd进入项目的根目录. 2.执行下面的命令:git pull origin master --allow-unr ...

  4. python的种类

    Cpython     Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上. Jyhton   ...

  5. Spring学习(四)-----Spring Bean引用同xml和不同xml bean的例子

    在Spring,bean可以“访问”对方通过bean配置文件指定相同或不同的引用. 1. Bean在不同的XML文件 如果是在不同XML文件中的bean,可以用一个“ref”标签,“bean”属性引用 ...

  6. 解析build.gradle文件

    Gradle是一个非常先进的项目构建工具,它使用了一种基于Groovy的领域特定语言DSL来声明项目设置,摒弃了传统XML(如Ant和Maven)的各种繁琐配置 项目结构如上图: 1.最外层目录下的b ...

  7. Python range() 函数用法

    函数语法 range(start, stop[, step]) 参数说明: start: 计数从 start 开始.默认是从 0 开始.例如range(5)等价于range(0, 5); stop: ...

  8. 数据库sql优化总结之2-百万级数据库优化方案+案例分析

    项目背景 有三张百万级数据表 知识点表(ex_subject_point)9,316条数据 试题表(ex_question_junior)2,159,519条数据 有45个字段 知识点试题关系表(ex ...

  9. 785. Is Graph Bipartite?

    Given an undirected graph, return true if and only if it is bipartite. Recall that a graph is bipart ...

  10. socket_tcp协议_loadrunner测试

    1.lrs_create_socket("socket0", "TCP", "RemoteHost=127.0.0.1:8888", Lrs ...