<!--根据实体参数查询 -->
<select id="selectBaseList" resultType="java.util.HashMap">
select
*
from ${map.tableName}
where 1=1
<foreach collection="map" index="key" item="value">
<if
test="key != 'tableName' and key != 'pageSize' and key != 'pageNo' ">
and `${key}` = #{value}
</if>
</foreach>
limit #{baseModel.fromRec},#{baseModel.pageSize}
</select> <!--根据实体参数查询个数 -->
<select id="selectBaseCount" resultType="java.lang.Integer">
select
count(1)
from ${map.tableName}
where 1=1
<foreach collection="map" index="key" item="value">
<if
test="key != 'tableName' and key != 'pageSize' and key != 'pageNo' ">
and `${key}` = #{value}
</if>
</foreach>
</select> <insert id="insertBase" parameterType="java.util.HashMap">
insert into ${map.tableName}
(
<foreach collection="map" index="key" item="value"
separator=",">
<if test="key != 'tableName' ">
`${key}`
</if>
</foreach>
)
values (
<foreach collection="map" index="key" item="value"
separator=",">
<if test="key != 'tableName' ">
#{value}
</if>
</foreach>
)
</insert>
<update id="updateBaseByPrimaryKey">
update ${map.tableName}
<set>
<foreach collection="map" index="key" item="value"
separator=",">
<if test="key != 'tableName' ">
`${key}`= #{value}
</if>
</foreach>
</set>
where id = #{map.id}
</update>

java代码部分,baseModel中放入分页参数:


import java.util.List;
import java.util.Map; import org.apache.ibatis.annotations.Param; public interface BaseDao {
int insertBase(@Param("map") Map map); Map selectBaseByPrimaryKey(Long id); int updateBaseByPrimaryKey(@Param("map") Map map ); List<Map> selectBaseList(@Param("map") Map map, @Param("baseModel") BaseModel baseModel); int selectBaseCount(@Param("map") Map map); }

mybatis传入map任意表增删改查,分页过滤字段的更多相关文章

  1. Mybatis之基于XML的增删改查

    这里先吐槽下,写的半天的东西,IE浏览器弹出调试窗口导致写的东西全部没保存,搞得我还要重新用谷歌写,思路全没了,fuck. 前面学习了下spring的DAO层,说起DAO层,那ORM肯定是少不了的,O ...

  2. SpringBoot+Mybatis+Maven+MySQL逆向工程实现增删改查

    SpringBoot+Mybatis+MySQL+MAVEN逆向工程实现增删改查 这两天简单学习了下SpringBoot,发现这玩意配置起来是真的方便,相比于SpringMVC+Spring的配置简直 ...

  3. SSH框架下的多表增删改查

    下载地址:SSH框架下的多表增删改查 点击进入码云Git下载 点击进入CSDN下载 项目结构: 项目代码就不全部贴出来了,只贴下核心代码.需要项目的自己可以去下载. package com.atgui ...

  4. GZFramwork数据库层《四》单据主从表增删改查

    同GZFramwork数据库层<三>普通主从表增删改查 不同之处在于:实例 修改为: 直接上效果: 本系列项目源码下载地址:https://github.com/GarsonZhang/G ...

  5. GZFramwork数据库层《三》普通主从表增删改查

    运行结果: 使用代码生成器(GZCodeGenerate)生成tb_Cusomer和tb_CusomerDetail的Model 生成器源代码下载地址: https://github.com/Gars ...

  6. GZFramwork数据库层《二》单据表增删改查(自动生成单据号码)

    运行效果: 使用代码生成器(GZCodeGenerate)生成tb_EmpLeave的Model 生成器源代码下载地址: https://github.com/GarsonZhang/GZCodeGe ...

  7. GZFramwork数据库层《一》普通表增删改查

    运行结果:     使用代码生成器(GZCodeGenerate)生成tb_MyUser的Model 生成器源代码下载地址: https://github.com/GarsonZhang/GZCode ...

  8. Vc数据库编程基础MySql数据库的表增删改查数据

    Vc数据库编程基础MySql数据库的表增删改查数据 一丶表操作命令 1.查看表中所有数据 select * from 表名 2.为表中所有的字段添加数据 insert into 表名( 字段1,字段2 ...

  9. TESTUSERB 仅能对TESTUSERA 用户下的某些表增删改查、有些表仅能对某些列update,查询TESTUSERB 用户权限,获取批量赋予语句。

    TESTUSERB 仅能对TESTUSERA 用户下的某些表增删改查.有些表仅能对某些列update,查询TESTUSERB 用户权限,获取批量赋予语句. select 'grant '|| PRIV ...

随机推荐

  1. chrome开启headless模式以及代理

    google-chrome-stable --disable-gpu --remote-debugging-port=9222 --headless -remote-debugging-address ...

  2. Hdu 4312-Meeting point-2——哈夫曼距离与切比雪夫距离

    题意 从 $n$ 个点中选择一点,使得其他点到其的切比雪夫距离最小($0 < n \leq 1e5$). 分析 定理:$(x_1, y_1)$ 与 $(x_2, y_2)$ 的曼哈顿距离等于 $ ...

  3. pyharm 上运行 npm 配置方法

    问题解决.

  4. 011_GoldWave软件安装及使用

    (一)软件安装包: 链接:https://pan.baidu.com/s/15c5veooyA8bAYIAgLFOLjg提取码:jiis 复制这段内容后打开百度网盘手机App,操作更方便哦 (二)降低 ...

  5. Linux操作系统常用命令合集——第六篇-软件包操作(2个命令)

    一.前言介绍 软件包即程序包 程序包管理 关键词:rpm程序包管理.YUM仓库管理.源码编译安装 程序包管理: 将编译好的应用程序的各组成文件打包一个或几个程序包文件,从而方便快捷地实现程序包的安装. ...

  6. 数据库学习之六--事务(Transaction)

    一.定义 事务是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit). 规则: 1. 用形如begin transaction和end transaction语句来界定 2. 由事务开始和 ...

  7. 代码 | 自适应大邻域搜索系列之(6) - 判断接受准则SimulatedAnnealing的代码解析

    前言 前面三篇文章对大家来说应该很简单吧?不过轻松了这么久,今天再来看点刺激的.关于判断接受准则的代码.其实,判断接受准则有很多种,效果也因代码而异.今天介绍的是模拟退火的判断接受准则.那么,相关的原 ...

  8. (6)打鸡儿教你Vue.js

    循环语句 循环使用 v-for 指令 <div id="app"> <ol> // 有序 <li v-for="item in items& ...

  9. 小程序demo项目实践

    今天开始做一个简单的小程序,做的过程中势必会有一些知识经验需要记录 项目初始化 首先创建好一个小程序项目,在app.wxss里面将自带的css样式统统去除,加上自己写的初始化样式 小程序目前不支持*号 ...

  10. 爬虫之获取猫眼电影10W评论

    第一步 打开一个电影的评论界面: 哪吒之魔童降世:https://maoyan.com/films/1211270 我们发现这里只显示10条评论,而我们需要爬取10w条数据,所以不能从此页面进行抓包, ...