1、新建一个UserCondition类
package com.zq.model;
public class UserCondition extends User {
}
在CodeBuilder 中加入
Template modelConditionVm = ve.getTemplate("/WebContent/WEB-INF/vm/modelConditionVm.vm");
CodeBuilder.merge(modelConditionVm, ctx, rootPath +"src/com/zq/model/" + modelClass +"Condition.java");
在vm中加入modelConditionVm
package com.zq.model;
public class ${model}Condition extends ${model} {
}
2、将CodeBuilder中的modelClass字段改为model
再新添String modelClass = "modelCondition";
ctx.put("model", model);
3、将vm文件夹下的各种模板中的类名改为${model}
重新运行一下再刷新没有错误就成功了
4、新建xml.vm
<?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">
<!-- 命名空間,xml文件和dao接口对应起來 -->
<mapper namespace="com.zq.dao.${model}Dao">
<resultMap type="com.zq.model.${modelClass}" id="${modelName}Map">
#foreach(${e} in ${columnList})
<result property="${e.attrName}" column="${e.columnName}"/>
#end
</resultMap>
<select id="findById" parameterType="integer" resultMap="${modelName}Map">
select * from ${modelName} where id = #{id}
</select>
<sql id="sqlWhere">
<where><!-- 这种写法会自动去掉第一个and -->
#foreach(${e} in ${columnList})
#if(${e.columnType}=='String')
<if test="${e.attrName}!=null and ${e.attrName}!=''">
and ${e.columnName} = #{${e.attrName}}
</if>
#else
<if test="${e.attrName}!=null>
and ${e.columnName} = #{${e.attrName}}
</if>
#end
#end
</where>
</sql>
<!-- 查询列表 -->
<select id="list" parameterType="${model}Condition" resultMap="${modelName}Map">
select * from ${modelName}
<include refid="sqlWhere" />
</select>
<!-- id不需要,自增 -->
<insert id="create" parameterType="${model}Condition">
insert into
${modelName}(
#foreach(${e} in ${columnList})
${e.columnName} #if(${foreach.hasNext}) , #end
#end
)
values(
#foreach(${e} in ${columnList})
#{${e.attrName}} #if(${foreach.hasNext}) , #end
#end
)
</insert>
<update id="update" parameterType="${model}Condition">
update ${modelName}
<set>
#foreach(${e} in ${columnList})
#if(${e.columnType}=='String')
<if test="${e.attrName}!=null and ${e.attrName}!=''">
${e.columnName} = #{${e.attrName}},
</if>
#else
<if test="${e.attrName}!=null>
${e.columnName} = #{${e.attrName}},
</if>
#end
#end
</set>
where id = #{id}
<!-- set username = #{username},pwd=#{pwd} where id = #{id} -->
</update>
<delete id="delete" parameterType="integer">
delete from ${modelName} where id = #{id}
</delete>
</mapper>
在CodeBulider 中加
//xml
Template xmlVm = ve.getTemplate("/WebContent/WEB-INF/vm/xml.vm");
CodeBuilder.merge(xmlVm, ctx, rootPath +"src/com/zq/dao/" + model +"Dao.xml");
运行一下刷新dao包就可以啦