<?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.${bean.pacageName}.dao.${bean.classOracleName}Dao"> <!-- Result Map --> <resultMap id="BaseResultMap" type="com.${bean.pacageName}.bean.${bean.classOracleName}"> <#list bean.fields as field> <result column="${field.fieldName}" property="${field.fieldJavaName}"/> </#list> </resultMap> <!-- ${bean.tableName} table all fields --> <sql id="Base_Column_List"> <#list bean.fields as field><#if field_index==0>${field.fieldName}</#if><#if field_index!=0>,${field.fieldName}</#if></#list> </sql> <!-- 公共查询条件 --> <sql id="Example_Where_Clause"> where 1=1 <#list bean.fields as field> <if test="bean.${field.fieldJavaName}!=null <#if field.fieldType=="VARCHAR2">and bean.${field.fieldJavaName}!=''</#if>">and ${field.fieldName} = _#_{bean.${field.fieldJavaName}, <#if field.fieldType=="VARCHAR2">jdbcType=VARCHAR</#if><#if field.fieldType=="NUMBER">jdbcType=DOUBLE</#if><#if field.fieldType!="VARCHAR2" && field.fieldType!="NUMBER">jdbcType=${field.fieldType}</#if>}</if> </#list> </sql> <!-- 添加记录(所有字段) --> <insert id="save" parameterType="Object" > <selectKey keyProperty="bean.id" resultType="String" order="BEFORE" > select lower(sys_guid()) from dual </selectKey> insert into ${bean.tableName} ( <#list bean.fields as field><#if field_index==0>${field.fieldName}</#if><#if field_index!=0>,${field.fieldName}</#if></#list> ) values ( <#list bean.fields as field> <#if field_index==0>_#_{bean.${field.fieldJavaName}}</#if><#if field_index!=0>,_#_{bean.${field.fieldJavaName},<#if field.fieldType=="VARCHAR2">jdbcType=VARCHAR</#if><#if field.fieldType=="NUMBER">jdbcType=DOUBLE</#if><#if field.fieldType!="VARCHAR2" && field.fieldType!="NUMBER" >jdbcType=${field.fieldType}</#if>} </#if> </#list> ) </insert> <!-- 修改记录,只修改只不为空的字段 --> <update id="update" parameterType="Object"> update ${bean.tableName} <set> <#list bean.fields as field> <if test="bean.${field.fieldJavaName} != null <#if field.fieldType=="VARCHAR2">and bean.${field.fieldJavaName}!=''</#if>" >${field.fieldName} = _#_{bean.${field.fieldJavaName}, <#if field.fieldType=="VARCHAR2">jdbcType=VARCHAR</#if><#if field.fieldType=="NUMBER">jdbcType=DOUBLE</#if><#if field.fieldType!="VARCHAR2" && field.fieldType!="NUMBER" >jdbcType=${field.fieldType}</#if>} </if> </#list> </set> where id = _#_{id} </update> <!-- 删除记录 --> <delete id="delete" parameterType="Object"> delete from ${bean.tableName} where id=_#_{id} </delete> <update id="deleteFlagById" parameterType="Object" > update ${bean.tableName} set del_tag = 1 where id=_#_{id} </update> <!-- 根据id查询 --> <select id="getById" resultMap="BaseResultMap" parameterType="Object"> select <include refid="Base_Column_List" /> from ${bean.tableName} where del_tag=0 and id=_#_{id} </select> <!-- 列表总数 --> <select id="queryByCount" resultType="java.lang.Integer" parameterType="Object"> select count(1) from ${bean.tableName} <include refid="Example_Where_Clause" /> </select> <!-- 查询列表 --> <select id="getList" resultMap="BaseResultMap" parameterType="Object"> select <include refid="Base_Column_List" /> from ${bean.tableName} <include refid="Example_Where_Clause" /> </select> </mapper>