ibatis批量处理+多表关联查询
来源:互联网 发布:央视新闻客户端 mac 编辑:程序博客网 时间:2024/06/06 02:18
ibatis批量操作
ibatis批量操作存在两种方式:
一种是直接在代码中进行循环操作,另一种是在配置文件中进行循环操作。
(1)在配置文件中循环:
1.情况一:多个输入参数循环次数不对称:
处理方式:新建一个JAVABEAN,将各个参数作为其属性进行赋值。在配置文件中,获取其值,进行各自循环。
如下例:要更新的字段Opr的值只有一个,而ID的值却有多个。
1.情况一:多个输入参数循环次数不对称:
处理方式:新建一个JAVABEAN,将各个参数作为其属性进行赋值。在配置文件中,获取其值,进行各自循环。
如下例:要更新的字段Opr的值只有一个,而ID的值却有多个。
代码:
ibatis配置文件:
2.情况二:多个输入参数循环次数是对称的:
处理方式:新建一个hashmap,将各个参数名作为key,参数值作为value。在配置文件中,获取各key-value,进行各自循环。
如下例:将循环插入/更新的列名作为key,列值作为value放入hashmap中.(列名与列值是一一对应的,即循环次数对等)
处理方式:新建一个hashmap,将各个参数名作为key,参数值作为value。在配置文件中,获取各key-value,进行各自循环。
如下例:将循环插入/更新的列名作为key,列值作为value放入hashmap中.(列名与列值是一一对应的,即循环次数对等)
(2)
在代码中批量处理:
即是在startBatch()与executeBatch()之间循环调用操作数据库。如下:
ibatis配置文件中:
在代码中批量处理:
即是在startBatch()与executeBatch()之间循环调用操作数据库。如下:
ibatis配置文件中:
如何定义多表查询
1)
添加Guojia.java类,只是一个普通的javabean,对应guojia表中各字段,及其setter,getter,无须像hibernate一样设置对应关系。
2)
添加guojia.xml,只须添加:
无须添加如查询之类的东西。
3)
在当前类hwj.java添加连合查询的表guojia的list属性,如下:
4)
在当前表hwj.xml的resultMap中,添加<result property="guoList" resultMap="Guo.GuoResult"/>,如下:
注意:resultMap="Guo.GuoResult"中的Guo对应上面guojia.xml中的namespace,GuoResult对应其resultMap的名.
5)
在sqlMapClient.xml导入guojia.xml
注意:
在resultMap中列出的各列,只能是select的各字段。不能多,也不能少。否则出错。
如:A表中有a,b两列。现select a from A。则resultMap只能列了关于a的列名—属性,不能多列b的东西,否则出错。
6)
若为三表连合查询,
1.对于第三个表的设置,跟上面设置第二个表一样。
2.同样,也只须在hwj.java,hwj.xml中进行相同的设置即可。
说明:
在页面显示时:
在hwj循环记录的iterator中,添加guojia,address各种的循环即可。
无须将address内嵌在guojia中:因为实际上hwj的查询语句查询出来是所有记录,guojia,address添加的循环,也只能循环一次,取一个值。
设置如下:
(3)
resultMap中的的列与javaBean属性的对应关系,只能列出sql语句中select的字段,不能多也不能少,否则出错.----不关心sql语句中关联几个表.如下:
- ibatis批量处理+多表关联查询
- [Java][ibatis]ibatis批量处理+多表关联查询
- ibatis多表关联查询
- ibatis-2.3.4.726学习(二) 多表关联查询
- ibatis 一对一多表关联查询的问题
- ibatis 一对多查询 多条件关联
- iBatis/MyBatis 主子表关联查询
- ibatis 批量处理
- ibatis的批量处理
- ibatis批量处理
- ibatis的批量处理
- ibatis 批量处理
- Ibatis left join关联查询
- ibatis多表查询
- Ibatis多表查询
- Ibatis多表查询
- iBatis多表查询
- Ibatis的关联查询和关联结果
- Java中的ASCII、Unicode和UTF-8字符编码集
- 解析域名与IP地址(Linux编程)
- HTTP引擎
- MSDN for VC 6.0
- 使用Quartz 定时生成话单、把话单上传FTP、把话单移动到备份目录
- ibatis批量处理+多表关联查询
- (三)、WCF绑定
- 关于让FTP支持SSO的思路
- SVN目录删除
- 最大公约数和最小公倍数
- 简单的线程基类
- InstallShield 2010可以集成哪些第三方技术的支持?
- 在使用CustomValidator控件验证调用客户端时注意事项
- 游戏引擎的开发