我用ABATOR生成的代码如下: KOMEN_TEST_SqlMap.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap namespace="KOMEN_TEST"> <resultMap class="com.test.domain.Test" id="abatorgenerated_TestResult"> <result column="ID" jdbcType="DECIMAL" property="id" /> <result column="USERNAME" jdbcType="VARCHAR" property="username" /> <result column="USERPASSWORD" jdbcType="VARCHAR" property="userpassword" /> <result column="USERAGE" jdbcType="DECIMAL" property="userage" /> </resultMap> <sql id="abatorgenerated_Example_Where_Clause"> <iterate conjunction="or" prepend="where" property="oredCriteria" removeFirstPrepend="iterate"> <isEqual compareValue="true" property="oredCriteria[].valid"> ( <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> ) </isEqual> </iterate> </sql> <select id="abatorgenerated_selectByExample" parameterClass="com.test.domain.TestExample" resultMap="abatorgenerated_TestResult"> select ID, USERNAME, USERPASSWORD, USERAGE from KOMEN.TEST <isParameterPresent> <include refid="KOMEN_TEST.abatorgenerated_Example_Where_Clause" /> <isNotNull property="orderByClause"> order by $orderByClause$ </isNotNull> </isParameterPresent> </select> <delete id="abatorgenerated_deleteByExample" parameterClass="com.test.domain.TestExample"> delete from KOMEN.TEST <include refid="KOMEN_TEST.abatorgenerated_Example_Where_Clause" /> </delete> <insert id="abatorgenerated_insert" parameterClass="com.test.domain.Test"> insert into KOMEN.TEST (ID, USERNAME, USERPASSWORD, USERAGE) values (#id:DECIMAL#, #username:VARCHAR#, #userpassword:VARCHAR#, #userage:DECIMAL#) </insert> <select id="abatorgenerated_countByExample" parameterClass="com.test.domain.TestExample" resultClass="java.lang.Integer"> select count(*) from KOMEN.TEST <include refid="KOMEN_TEST.abatorgenerated_Example_Where_Clause" /> </select> <update id="abatorgenerated_updateByExampleSelective"> update KOMEN.TEST <dynamic prepend="set"> <isNotNull prepend="," property="record.id"> ID = #record.id:DECIMAL# </isNotNull> <isNotNull prepend="," property="record.username"> USERNAME = #record.username:VARCHAR# </isNotNull> <isNotNull prepend="," property="record.userpassword"> USERPASSWORD = #record.userpassword:VARCHAR# </isNotNull> <isNotNull prepend="," property="record.userage"> USERAGE = #record.userage:DECIMAL# </isNotNull> </dynamic> <isParameterPresent> <include refid="KOMEN_TEST.abatorgenerated_Example_Where_Clause" /> </isParameterPresent> </update> <update id="abatorgenerated_updateByExample"> update KOMEN.TEST set ID = #record.id:DECIMAL#, USERNAME = #record.username:VARCHAR#, USERPASSWORD = #record.userpassword:VARCHAR#, USERAGE = #record.userage:DECIMAL# <isParameterPresent> <include refid="KOMEN_TEST.abatorgenerated_Example_Where_Clause" /> </isParameterPresent> </update> </sqlMap> TestDAO.java package com.test.dao; import com.test.domain.Test; import com.test.domain.TestExample; import java.util.List; public interface TestDAO { void insert(Test record); List selectByExample(TestExample example); int deleteByExample(TestExample example); int countByExample(TestExample example); int updateByExampleSelective(Test record, TestExample example); int updateByExample(Test record, TestExample example); } TestDAOImpl.java package com.test.dao; import com.ibatis.dao.client.DaoManager; import com.ibatis.dao.client.template.SqlMapDaoTemplate; import com.test.domain.Test; import com.test.domain.TestExample; import java.util.List; public class TestDAOImpl extends SqlMapDaoTemplate implements TestDAO { public TestDAOImpl(DaoManager daoManager) { super(daoManager); } public void insert(Test record) { insert("KOMEN_TEST.abatorgenerated_insert", record); } public List selectByExample(TestExample example) { List list = queryForList("KOMEN_TEST.abatorgenerated_selectByExample", example); return list; } public int deleteByExample(TestExample example) { int rows = delete("KOMEN_TEST.abatorgenerated_deleteByExample", example); return rows; } public int countByExample(TestExample example) { Integer count = (Integer) queryForObject("KOMEN_TEST.abatorgenerated_countByExample", example); return count.intValue(); } public int updateByExampleSelective(Test record, TestExample example) { UpdateByExampleParms parms = new UpdateByExampleParms(record, example); int rows = update("KOMEN_TEST.abatorgenerated_updateByExampleSelective", parms); return rows; } public int updateByExample(Test record, TestExample example) { UpdateByExampleParms parms = new UpdateByExampleParms(record, example); int rows = update("KOMEN_TEST.abatorgenerated_updateByExample", parms); return rows; } private static class UpdateByExampleParms extends TestExample { private Object record; public UpdateByExampleParms(Object record, TestExample example) { super(example); this.record = record; } public Object getRecord() { return record; } } } Test.java package com.test.domain; public class Test { private Long id; private String username; private String userpassword; private Long userage; public Long getId() { return id; } public void setId(Long id) { this.id = id; } ...... public Long getUserage() { return userage; } public void setUserage(Long userage) { this.userage = userage; } } 如果 我要在Register.jsp的RegisterAction.java的 public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { RegisterForm registerForm = (RegisterForm) form;// TODO Auto-generated method stub //实例化一个TEST对象 Test test=new Test(); test.setUsername(registerForm.getUsername()); test.setUserpassword(registerForm.getPassword()); test.setUserage(Long.valueOf(registerForm.getAge())); String resource = "com/test/conf/sqlMapConfig.xml"; //请问如果要把Test实例的数据写入数据库,这里的代码应该怎么写?谢谢了! return null; } |