完美亲测通过-liudongcai 2018
BaseDao.java
package com.guoll.modules.framework.base.model;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
/**
*
* @author LDC
*
*/
public interface BaseDao {
/**
* 删除
* @param param
* @return
*/
Integer delete(@Param("tableName")String tableName,@Param("content") Map<String,Object> param);
/**
* 增加
* @param param
* @return
*/
Integer save(@Param("tableName")String tableName,@Param("content") Map<String,Object> param);
/**
* 更新
* @param param
* @return
*/
Integer update(@Param("tableName")String tableName,@Param("sets") Map<String,Object> sets,@Param("wheres") Map<String,Object> wheres);
/**
* 查询
* @param param
* @return
*/
List<Map<String,Object>> query(@Param("tableName")String tableName,@Param("content") Map<String,Object> param);
/**
* 总行数
* @param param
* @return
*/
Integer querySize(@Param("tableName")String tableName,@Param("content") Map<String,Object> param);
}
BaseDao.xml
<?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">
<!-- 完美 liudongcai 2018-02-12 19:40 -->
<mapper namespace="com.guoll.modules.testcenterproject.mapper.rtcmidb.CrudMapper">
<!-- 增加 -->
<insert id="save" parameterType="java.util.Map">
insert into ${tableName}
<foreach collection="content.keys" item="key" open="(" close=")"
separator=",">
${key}
</foreach>
values
<foreach collection="content.values" item="value" open="("
close=")" separator=",">
#{value}
</foreach>
</insert>
<!-- 删除 -->
<delete id="delete" parameterType="java.util.Map">
delete from ${tableName}
WHERE
<foreach collection="content.keys" item="key">
${key} =
#{content[${key}]} and
</foreach>
<if test="content != null and content !=''">
1=1
</if>
</delete>
<!-- 改 -->
<update id="update" parameterType="java.util.Map">
update ${tableName}
set
<foreach collection="sets.keys" item="skey" separator=",">
${skey}
= #{sets[${skey}]}
</foreach>
where
<foreach collection="wheres.keys" item="wkey">
${wkey} =
#{wheres[${wkey}]} and
</foreach>
1=1
</update>
<!-- 查 -->
<select id="query" resultType="java.util.Map" parameterType="java.util.Map">
select * from ${tableName}
WHERE
<foreach collection="content.keys" item="key">
${key} =
#{content[${key}]} and
</foreach>
1=1
</select>
</mapper>