ibatis测试
官方的例子稍作小改:
package com.test.pojos;
public class Account {
private int id;
private String firstName;
private String lastName;
private String emailAddress;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmailAddress() {
return emailAddress;
}
public void setEmailAddress(String emailAddress) {
this.emailAddress = emailAddress;
}
}
Account.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="Account">
<!-- Use type aliases to avoid typing the full classname every time. -->
<typeAlias alias="Account" type="com.test.pojos.Account"/>
<typeAlias alias="PageUtil" type="com.test.ibatis.sqlutil.PageUtil"/>
<!-- Result maps describe the mapping between the columns returned
from a query, and the class properties. A result map isn't
necessary if the columns (or aliases) match to the properties
exactly. -->
<resultMap id="AccountResult" class="Account">
<result property="id" column="ACC_ID"/>
<result property="firstName" column="ACC_FIRST_NAME"/>
<result property="lastName" column="ACC_LAST_NAME"/>
<result property="emailAddress" column="ACC_EMAIL"/>
</resultMap>
<!-- Select with no parameters using the result map for Account class. -->
<select id="selectAllAccounts" resultMap="AccountResult">
select * from ACCOUNT
</select>
<!-- A simpler select example without the result map. Note the
aliases to match the properties of the target result class. -->
<select id="selectAccountById" parameterClass="int" resultClass="Account">
select
ACC_ID as id,
ACC_FIRST_NAME as firstName,
ACC_LAST_NAME as lastName,
ACC_EMAIL as emailAddress
from ACCOUNT
where ACC_ID = #id#
</select>
<sql id="selectSql">
select * from ACCOUNT
</sql>
<!-- Insert example, using the Account parameter class -->
<insert id="insertAccount" parameterClass="Account">
insert into ACCOUNT (
ACC_ID,
ACC_FIRST_NAME,
ACC_LAST_NAME,
ACC_EMAIL
)values (
#id#, #firstName#, #lastName#, #emailAddress#
)
</insert>
<!-- Update example, using the Account parameter class -->
<update id="updateAccount" parameterClass="Account">
update ACCOUNT set
ACC_FIRST_NAME = #firstName#,
ACC_LAST_NAME = #lastName#,
ACC_EMAIL = #emailAddress#
where
ACC_ID = #id#
</update>
<!-- Delete example, using an integer as the parameter class -->
<delete id="deleteAccountById" parameterClass="int">
delete from ACCOUNT where ACC_ID = #id#
</delete>
<select id="getList" parameterClass="com.test.pojos.Account" resultMap="AccountResult">
select * from ACCOUNT
<dynamic prepend="where">
<isNotNull prepend="and" property="firstName">
ACC_FIRST_NAME = #firstName#
</isNotNull>
<isNotNull prepend="and" property="lastName">
ACC_LAST_NAME = #lastName#
</isNotNull>
</dynamic>
order by ACC_ID
</select>
</sqlMap>
AccountDAO.java
void saveAccount(Account account);
List<Account> queryAll();
public List<Account> getAuthorList(Account criteria, int pageNo, int pageSize);
AccountDAOImpl.java
public void saveAccount(Account account) {
super.getSqlMapClientTemplate().insert("insertAccount", account);
}
public List<Account> queryAll() {
return super.getSqlMapClientTemplate().queryForList("selectAllAccounts");
}
public List<Account> getAuthorList(Account criteria, int pageNo,int pageSize) {
return getSqlMapClientTemplate().queryForList("getList", criteria, pageNo, pageSize);
}
测试类:
package com.test.dao.test;
import java.util.List;
import com.test.dao.AccountDAO;
import com.test.pojos.Account;
public class AccountDAOTest extends BaseDaoTestCase {
private AccountDAO accountDao;
public void setAccountDao(AccountDAO accountDao) {
this.accountDao = accountDao;
}
public void testSaveAccount(){
Account account = new Account();
account.setEmailAddress("test2");
account.setFirstName("first3");
account.setLastName("62");
accountDao.saveAccount(account);
super.assertNotNull(account);
}
public void testQueryAll(){
List<Account> all = accountDao.queryAll();
System.out.println(all.size());
super.assertNotNull(all);
}
public void testQueryList(){
Account criteria = new Account();
criteria.setFirstName("first3");
int pageNo = 0;
int pageSize = 10;
List<Account> list = accountDao.getAuthorList(criteria, pageNo, pageSize);
System.out.println("list.size():"+list.size());
super.assertNotNull(list);
}
}
lunzi
2008-06-20 01:19:53
评论:0
阅读:73
引用:0
