共计 1972 个字符,预计需要花费 5 分钟才能阅读完成。
这篇文章主要介绍了 ibatis 一对多数据库如何实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇 ibatis 一对多数据库如何实现文章都会有所收获,下面我们一起来看看吧。
iBatis 的多表关联。ibatis 的表关联, 和数据库语句无关, 是在 Java 程序中, 把若干语句的结果关联到一起。这种关联形式, 虽然在大数据量时是很奢侈的行为, 但是看起来很干净, 用起来也很方便。这里用表 lock 和 key 为例, 一个 lock 可以配多个 key。CREATETABLE lock(
id int,
lockName varchar
CREATETABLEkey(
id int,
lockId int,
keyName varchar
); 定义映射类
package zzcv.dao.domain;
publicclass Lock
privateint id;
private String lockName;
private List Key keys = new ArrayList Key
publicvoid getId(){
return..
...
// 省略
package zzcv.dao.domain;
publicclass Key
privateint id;
private String keyName;
private Lock lock; ...
// 省略
} 表关联通过配置文件的 resultMap 实现, 不需要关联的查询仍可用 resultClass
sqlMap namespace= test
typeAlias alias= Key = zzcv.dao.domain.Key /
typeAlias alias= Lock = zzcv.dao.domain.Lock /
resultMap id= KeyResult = Key
result property= id = id /
result property= keyName = keyName /
result property= lock = lockId = getLockById /
/resultMap
!----
resultMap id= LockResult = Lock
result property= id = id /
result property= lockName = lockName /
result property= keys = id = getKeysByLockId /
/resultMap
!----
!----
select id= selectAllkeys = KeyResult
![CDATA[
select id,lockId,keyName from key
]]
/select
select id= getLockById = int = Lock
![CDATA[
select id,lockName from lock where id = #value#
]]
/select
select id= selectAllLocks = LockResult
![CDATA[
select id,lockName from lock
]]
/select
select id= getKeyByLockId = int = key
![CDATA[
select id,lockId,keyName from lock where lockId = #value#
]]
/select
/sqlMap 现在可以代码中使用了
...
..
try{
Reader reader = mxd/dao/data/SqlMapConfig.xml
sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
reader.close(); }
catch(IOException e){ thrownew Something bad happened while building the SqlMapClient instance. + e, e);}
List locks=sqlMapper.queryForList( selectAllLocks
// 取一个 Lock 对象。=(Lock)locks.get(0);
// 从 Lock 对象取 List Key。=lock.getKeys();
// 示例结束, 取到结果了, 剩余的一个关联是取对象 Lock, 其余操作差不多, 就不写出了。 ...
关于“ibatis 一对多数据库如何实现”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“ibatis 一对多数据库如何实现”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道。
正文完