如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Ibatis多表查询一:描述下:使用2个表,book,user表。一对多关系,一本书有多个作者。表语句:CREATETABLE`book`(`oid`int(10)NOTNULL,`name`varchar(50)DEFAULTNULL,PRIMARYKEY(`oid`));DROPTABLEIFEXISTS`user`;CREATETABLE`user`(`id`int(10)unsignedNOTNULL,`name`varchar(50)DEFAULTNULL,`book_oid`int(10)DEFAULTNULL,PRIMARYKEY(`id`),KEY`FK_user_1`(`book_oid`),CONSTRAINT`FK_user_1`FOREIGNKEY(`book_oid`)REFERENCES`book`(`oid`));二:对应的Pojo类packagecom.pojo;publicclassUser{privateIntegerid;privateStringname;privateIntegerbook_oid;........一下是getset注意在ibatis定义的pojo类中要有个空的构造函数哦~~,packagecom.pojo;importjava.util.List;publicclassBook{privateIntegeroid;privateStringname;privateListusers;.......getset注意:必须定义个list,ibatis在实现多表关联查询时。三:配置文件1、对应pojo的book.xml<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEsqlMapPUBLIC"-//ibatis.apache.org//DTDSQLMap2.0//EN""http://ibatis.apache.org/dtd/sql-map-2.dtd"><sqlMapnamespace="test"><typeAliasalias="User"type="com.pojo.User"/><typeAliasalias="Book"type="com.pojo.Book"/><resultMapid="BookResult"class="Book"><resultproperty="oid"column="oid"/><resultproperty="name"column="name"/><resultproperty="users"column="oid"select="getUsersByBookId"/></resultMap><!--通过book的oid实现的一对多关联,ibatis会使用getKeysByLockId(id)得到的List填充users属性--><selectid="selectAllBooks"resultMap="BookResult"><![CDATA[selectoid,b.namefrombookb]]></select><selectid="getUsersByBookId"parameterClass="int"resultClass="User"><![CDATA[selectid,book_oid,u.namefromuseruwherebook_oid=#value#]]></select></sqlMap>2、在定义个配置文件调用上面的配置文件:如下:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEsqlMapConfigPUBLIC"-//ibatis.apache.org//DTDSQLMapConfig2.0//EN""http://ibatis.apache.org/dtd/sql-map-config-2.dtd"><sqlMapConfig><settingscacheModelsEnabled="true"enhancementEnabled="true"lazyLoadingEnabled="true"errorTracingEnabled="true"maxRequests="132"maxSessions="110"maxTransactions="15"useStatementNamespaces="false"/><transactionManagertype="JDBC"><dataSourcetype="DBCP"><propertynam