Ibatis 命名空间使用

1.sqlMap-config.xml如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig 
  PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" 
  "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<sqlMapConfig>

   <settings useStatementNamespaces ="true" />  

     .......

    <sqlMap resource=".../a.xml" />
    <sqlMap resource=".../b.xml" />

</sqlMapConfig>

 

2.a.xml 和 b.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="A">
 
 <resultMap id="result" >
 ...
 </resultMap>
 
 <select id="getAllCorp" resultMap="result">
  select * from  table_A
 </select>
</sqlMap>

 

<?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="B">
 
 <resultMap id="result" >
 ...
 </resultMap>
 
 <select id="getAllCorp" resultMap="result">
  select * from  table_B
 </select>
</sqlMap>

 

3.java Dao

public class dao extends SqlMapClientDaoSupport{
 

 public List<IndCorp> getAllCorp(String nameSpace) throws Exception {
  SqlMapClientTemplate sqlMap = getSqlMapClientTemplate();
  List list=null;
  if(nameSpace==null||"".equals(nameSpace.trim()))
  list=sqlMap.queryForList("getAllCorp");
  else
  list=sqlMap.queryForList(nameSpace+".getAllCorp");
  return list;
 }
}

 


posted on 2009-05-21 21:35  面朝大海,春暖花开  阅读(1466)  评论(0)    收藏  举报