浏览 8011 次
精华帖 (2) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-01-25
1为dao添加Integer selectCountByExample或Integer selectCountByExampleWithoutBLOBs接口及相应的sqlmap查询记录总数 2分页子句支持(目前仅支持mysql) 在example中添加属性limitClauseStart和limitClauseCount为接口selectByExample添加物理分页支持 将该项目在eclipse下编译打包后替换原插件下的abator.jar即可 注:目前仅对generatorSet="Java5"有效 生成代码示例: sqlmap: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap namespace="t_role"> <resultMap class="com.u2lux.abator.model.TRole" id="abatorgenerated_TRoleResult"> <!-- WARNING - This element is automatically generated by Abator for iBATIS, do not modify. This element was generated on Tue Jan 22 15:50:00 CST 2008. --> <result column="r_ROLE_ID" jdbcType="INTEGER" property="roleId"/> <result column="r_ROLE_NAME" jdbcType="VARCHAR" property="roleName"/> </resultMap> <sql id="abatorgenerated_Example_Where_Clause"> <!-- WARNING - This element is automatically generated by Abator for iBATIS, do not modify. This element was generated on Tue Jan 22 15:50:00 CST 2008. --> <iterate conjunction="or" prepend="where" property="oredCriteria" removeFirstPrepend="iterate"> ( <iterate conjunction="and" prepend="and" property="oredCriteria[].criteriaWithoutValue"> $oredCriteria[].criteriaWithoutValue[]$ </iterate> <iterate conjunction="and" prepend="and" property="oredCriteria[].criteriaWithSingleValue"> $oredCriteria[].criteriaWithSingleValue[].condition$ #oredCriteria[].criteriaWithSingleValue[].value# </iterate> <iterate conjunction="and" prepend="and" property="oredCriteria[].criteriaWithListValue"> $oredCriteria[].criteriaWithListValue[].condition$ <iterate close=")" conjunction="," open="(" property="oredCriteria[].criteriaWithListValue[].values"> #oredCriteria[].criteriaWithListValue[].values[]# </iterate> </iterate> <iterate conjunction="and" prepend="and" property="oredCriteria[].criteriaWithBetweenValue"> $oredCriteria[].criteriaWithBetweenValue[].condition$ #oredCriteria[].criteriaWithBetweenValue[].values[0]# and #oredCriteria[].criteriaWithBetweenValue[].values[1]# </iterate> ) </iterate> </sql> <select id="abatorgenerated_selectByPrimaryKey" parameterClass="com.u2lux.abator.model.TRole" resultMap="abatorgenerated_TRoleResult"> <!-- WARNING - This element is automatically generated by Abator for iBATIS, do not modify. This element was generated on Tue Jan 22 15:50:00 CST 2008. --> select r.ROLE_ID as r_ROLE_ID, r.ROLE_NAME as r_ROLE_NAME from t_role r where r.ROLE_ID = #roleId:INTEGER# </select> <select id="abatorgenerated_selectByExample" parameterClass="com.u2lux.abator.model.TRoleExample" resultMap="abatorgenerated_TRoleResult"> <!-- WARNING - This element is automatically generated by Abator for iBATIS, do not modify. This element was generated on Tue Jan 22 15:50:00 CST 2008. --> select r.ROLE_ID as r_ROLE_ID, r.ROLE_NAME as r_ROLE_NAME from t_role r <isParameterPresent> <include refid="t_role.abatorgenerated_Example_Where_Clause"/> <isNotNull property="orderByClause"> order by $orderByClause$ </isNotNull> <isNotNull property="limitClauseStart"> limit #limitClauseStart:INTEGER#, #limitClauseCount:INTEGER# </isNotNull> </isParameterPresent> </select> <select id="abatorgenerated_selectCountByExample" parameterClass="com.u2lux.abator.model.TRoleExample" resultClass="java.lang.Integer"> <!-- WARNING - This element is automatically generated by Abator for iBATIS, do not modify. This element was generated on Tue Jan 22 15:50:00 CST 2008. --> select count(*) from t_role r <isParameterPresent> <include refid="t_role.abatorgenerated_Example_Where_Clause"/> </isParameterPresent> </select> <delete id="abatorgenerated_deleteByPrimaryKey" parameterClass="com.u2lux.abator.model.TRole"> <!-- WARNING - This element is automatically generated by Abator for iBATIS, do not modify. This element was generated on Tue Jan 22 15:50:00 CST 2008. --> delete from t_role where ROLE_ID = #roleId:INTEGER# </delete> <delete id="abatorgenerated_deleteByExample" parameterClass="com.u2lux.abator.model.TRoleExample"> <!-- WARNING - This element is automatically generated by Abator for iBATIS, do not modify. This element was generated on Tue Jan 22 15:50:00 CST 2008. --> delete from t_role r <include refid="t_role.abatorgenerated_Example_Where_Clause"/> </delete> <insert id="abatorgenerated_insert" parameterClass="com.u2lux.abator.model.TRole"> <!-- WARNING - This element is automatically generated by Abator for iBATIS, do not modify. This element was generated on Tue Jan 22 15:50:00 CST 2008. --> insert into t_role (ROLE_NAME) values (#roleName:VARCHAR#) <selectKey keyProperty="roleId" resultClass="java.lang.Integer"> SELECT LAST_INSERT_ID() </selectKey> </insert> <update id="abatorgenerated_updateByPrimaryKey" parameterClass="com.u2lux.abator.model.TRole"> <!-- WARNING - This element is automatically generated by Abator for iBATIS, do not modify. This element was generated on Tue Jan 22 15:50:00 CST 2008. --> update t_role set ROLE_NAME = #roleName:VARCHAR# where ROLE_ID = #roleId:INTEGER# </update> <update id="abatorgenerated_updateByPrimaryKeySelective" parameterClass="com.u2lux.abator.model.TRole"> <!-- WARNING - This element is automatically generated by Abator for iBATIS, do not modify. This element was generated on Tue Jan 22 15:50:00 CST 2008. --> update t_role <dynamic prepend="set"> <isNotNull prepend="," property="roleName"> ROLE_NAME = #roleName:VARCHAR# </isNotNull> </dynamic> where ROLE_ID = #roleId# </update> </sqlMap> dao接口: package com.u2lux.abator.dao; import com.u2lux.abator.model.TRole; import com.u2lux.abator.model.TRoleExample; import java.util.List; public interface TRoleDAO { /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ Integer insert(TRole record); /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ int updateByPrimaryKey(TRole record); /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ int updateByPrimaryKeySelective(TRole record); /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ List<TRole> selectByExample(TRoleExample example); /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ Integer selectCountByExample(TRoleExample example); /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ TRole selectByPrimaryKey(Integer roleId); /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ int deleteByExample(TRoleExample example); /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ int deleteByPrimaryKey(Integer roleId); } dao实现: package com.u2lux.abator.dao; import com.u2lux.abator.model.TRole; import com.u2lux.abator.model.TRoleExample; import java.util.List; import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport; public class TRoleDAOImpl extends SqlMapClientDaoSupport implements TRoleDAO { /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public TRoleDAOImpl() { super(); } /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public Integer insert(TRole record) { Object newKey = getSqlMapClientTemplate().insert( "t_role.abatorgenerated_insert", record); return (Integer) newKey; } /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public int updateByPrimaryKey(TRole record) { int rows = getSqlMapClientTemplate().update( "t_role.abatorgenerated_updateByPrimaryKey", record); return rows; } /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public int updateByPrimaryKeySelective(TRole record) { int rows = getSqlMapClientTemplate().update( "t_role.abatorgenerated_updateByPrimaryKeySelective", record); return rows; } /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ @SuppressWarnings("unchecked") public List<TRole> selectByExample(TRoleExample example) { List<TRole> list = (List<TRole>) getSqlMapClientTemplate() .queryForList("t_role.abatorgenerated_selectByExample", example); return list; } /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public Integer selectCountByExample(TRoleExample example) { Object count = getSqlMapClientTemplate().queryForObject( "t_role.abatorgenerated_selectCountByExample", example); return (Integer) count; } /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public TRole selectByPrimaryKey(Integer roleId) { TRole key = new TRole(); key.setRoleId(roleId); TRole record = (TRole) getSqlMapClientTemplate().queryForObject( "t_role.abatorgenerated_selectByPrimaryKey", key); return record; } /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public int deleteByExample(TRoleExample example) { int rows = getSqlMapClientTemplate().delete( "t_role.abatorgenerated_deleteByExample", example); return rows; } /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public int deleteByPrimaryKey(Integer roleId) { TRole key = new TRole(); key.setRoleId(roleId); int rows = getSqlMapClientTemplate().delete( "t_role.abatorgenerated_deleteByPrimaryKey", key); return rows; } } 生成的model: package com.u2lux.abator.model; import com.u2lux.abator.SerializableModel; public class TRole extends SerializableModel { /** * */ private static final long serialVersionUID = -549201827251112100L; /** * This field was generated by Abator for iBATIS. This field corresponds to the database column t_role.ROLE_ID * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ private Integer roleId; /** * This field was generated by Abator for iBATIS. This field corresponds to the database column t_role.ROLE_NAME * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ private String roleName; /** * This method was generated by Abator for iBATIS. This method returns the value of the database column t_role.ROLE_ID * @return the value of t_role.ROLE_ID * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public Integer getRoleId() { return roleId; } /** * This method was generated by Abator for iBATIS. This method sets the value of the database column t_role.ROLE_ID * @param roleId the value for t_role.ROLE_ID * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public void setRoleId(Integer roleId) { this.roleId = roleId; } /** * This method was generated by Abator for iBATIS. This method returns the value of the database column t_role.ROLE_NAME * @return the value of t_role.ROLE_NAME * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public String getRoleName() { return roleName; } /** * This method was generated by Abator for iBATIS. This method sets the value of the database column t_role.ROLE_NAME * @param roleName the value for t_role.ROLE_NAME * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public void setRoleName(String roleName) { this.roleName = roleName; } } 生成的example: package com.u2lux.abator.model; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class TRoleExample { /** * This field was generated by Abator for iBATIS. This field corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ private String orderByClause; /** * This field was generated by Abator for iBATIS. This field corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ private Integer limitClauseStart; /** * This field was generated by Abator for iBATIS. This field corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ private Integer limitClauseCount; /** * This field was generated by Abator for iBATIS. This field corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ private List<Criteria> oredCriteria = new ArrayList<Criteria>(); /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public String getOrderByClause() { return orderByClause; } /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public void setLimitClauseStart(Integer limitClauseStart) { this.limitClauseStart = limitClauseStart; } /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public Integer getLimitClauseStart() { return limitClauseStart; } /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public void setLimitClauseCount(Integer limitClauseCount) { this.limitClauseCount = limitClauseCount; } /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public Integer getLimitClauseCount() { return limitClauseCount; } /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public List<Criteria> getOredCriteria() { return oredCriteria; } /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public void or(Criteria criteria) { oredCriteria.add(criteria); } /** * This method was generated by Abator for iBATIS. This method corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public Criteria createCriteria() { Criteria criteria = new Criteria(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } /** * This class was generated by Abator for iBATIS. This class corresponds to the database table t_role * @abatorgenerated Tue Jan 22 15:50:00 CST 2008 */ public static class Criteria { private List<String> criteriaWithoutValue; private List<Map<String, Object>> criteriaWithSingleValue; private List<Map<String, Object>> criteriaWithListValue; private List<Map<String, Object>> criteriaWithBetweenValue; private Criteria() { super(); criteriaWithoutValue = new ArrayList<String>(); criteriaWithSingleValue = new ArrayList<Map<String, Object>>(); criteriaWithListValue = new ArrayList<Map<String, Object>>(); criteriaWithBetweenValue = new ArrayList<Map<String, Object>>(); } public List<String> getCriteriaWithoutValue() { return criteriaWithoutValue; } public List<Map<String, Object>> getCriteriaWithSingleValue() { return criteriaWithSingleValue; } public List<Map<String, Object>> getCriteriaWithListValue() { return criteriaWithListValue; } public List<Map<String, Object>> getCriteriaWithBetweenValue() { return criteriaWithBetweenValue; } private void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } Map<String, Object> map = new HashMap<String, Object>(); map.put("condition", condition); map.put("value", value); criteriaWithSingleValue.add(map); } private void addCriterion(String condition, List<? extends Object> values, String property) { if (values == null || values.size() == 0) { throw new RuntimeException("Value list for " + property + " cannot be null or empty"); } Map<String, Object> map = new HashMap<String, Object>(); map.put("condition", condition); map.put("values", values); criteriaWithListValue.add(map); } private void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } List<Object> list = new ArrayList<Object>(); list.add(value1); list.add(value2); Map<String, Object> map = new HashMap<String, Object>(); map.put("condition", condition); map.put("values", list); criteriaWithBetweenValue.add(map); } public Criteria andRoleIdIsNull() { criteriaWithoutValue.add("r.ROLE_ID is null"); return this; } public Criteria andRoleIdIsNotNull() { criteriaWithoutValue.add("r.ROLE_ID is not null"); return this; } public Criteria andRoleIdEqualTo(Integer value) { addCriterion("r.ROLE_ID =", value, "roleId"); return this; } public Criteria andRoleIdNotEqualTo(Integer value) { addCriterion("r.ROLE_ID <>", value, "roleId"); return this; } public Criteria andRoleIdGreaterThan(Integer value) { addCriterion("r.ROLE_ID >", value, "roleId"); return this; } public Criteria andRoleIdGreaterThanOrEqualTo(Integer value) { addCriterion("r.ROLE_ID >=", value, "roleId"); return this; } public Criteria andRoleIdLessThan(Integer value) { addCriterion("r.ROLE_ID <", value, "roleId"); return this; } public Criteria andRoleIdLessThanOrEqualTo(Integer value) { addCriterion("r.ROLE_ID <=", value, "roleId"); return this; } public Criteria andRoleIdIn(List<Integer> values) { addCriterion("r.ROLE_ID in", values, "roleId"); return this; } public Criteria andRoleIdNotIn(List<Integer> values) { addCriterion("r.ROLE_ID not in", values, "roleId"); return this; } public Criteria andRoleIdBetween(Integer value1, Integer value2) { addCriterion("r.ROLE_ID between", value1, value2, "roleId"); return this; } public Criteria andRoleIdNotBetween(Integer value1, Integer value2) { addCriterion("r.ROLE_ID not between", value1, value2, "roleId"); return this; } public Criteria andRoleNameIsNull() { criteriaWithoutValue.add("r.ROLE_NAME is null"); return this; } public Criteria andRoleNameIsNotNull() { criteriaWithoutValue.add("r.ROLE_NAME is not null"); return this; } public Criteria andRoleNameEqualTo(String value) { addCriterion("r.ROLE_NAME =", value, "roleName"); return this; } public Criteria andRoleNameNotEqualTo(String value) { addCriterion("r.ROLE_NAME <>", value, "roleName"); return this; } public Criteria andRoleNameGreaterThan(String value) { addCriterion("r.ROLE_NAME >", value, "roleName"); return this; } public Criteria andRoleNameGreaterThanOrEqualTo(String value) { addCriterion("r.ROLE_NAME >=", value, "roleName"); return this; } public Criteria andRoleNameLessThan(String value) { addCriterion("r.ROLE_NAME <", value, "roleName"); return this; } public Criteria andRoleNameLessThanOrEqualTo(String value) { addCriterion("r.ROLE_NAME <=", value, "roleName"); return this; } public Criteria andRoleNameLike(String value) { addCriterion("r.ROLE_NAME like", value, "roleName"); return this; } public Criteria andRoleNameNotLike(String value) { addCriterion("r.ROLE_NAME not like", value, "roleName"); return this; } public Criteria andRoleNameIn(List<String> values) { addCriterion("r.ROLE_NAME in", values, "roleName"); return this; } public Criteria andRoleNameNotIn(List<String> values) { addCriterion("r.ROLE_NAME not in", values, "roleName"); return this; } public Criteria andRoleNameBetween(String value1, String value2) { addCriterion("r.ROLE_NAME between", value1, value2, "roleName"); return this; } public Criteria andRoleNameNotBetween(String value1, String value2) { addCriterion("r.ROLE_NAME not between", value1, value2, "roleName"); return this; } } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |