iBatis中使用XML
本文系iBatis开发详解系列文章之在iBatis中使用XML
在实际应用中,很多时候我们使用到了XML格式的数据,比如FushionChart,iBatis允许使用XML作为数据库查询操作的参数,也允许数据库查询结果返回一个XML格式的数据。如果不是必须,使用XML并不会给带来什么价值,甚至不如直接使用POJO,因为它是强类型的。下面先来看看使用XML作为参数的情况,做参数时,可以使用String,也可以使用DOM来传递,此时的XML结构并不严格要求,只要格式良好即可。结合实例,比如有如下的XML片段:
这是获取一个结果的时候,那么如果要获取多条结果,XML结果会是什么样的呢?我们来看一下:
程序也做相应的修改:
而在测试程序中,这么写就行了:BeanToXML btx = new BeanToXML(User.class, "user");List<User> userList = sqlMap.queryForList("User.getAllUsers");StringBuffer xmlUserList = new StringBuffer("<users>");for (User user : userList) {xmlUserList.append(btx.convertToXML(user));}xmlUserList.append("</users>");System.out.println(xmlUserList.toString());
也就得到了结果,只是在每个user元素中会多一个class子元素,如果不想要还要修改工具类。但这也并不是最佳实践,如果处理数据量太大,就要消耗大量的内存。
关于此示例的代码,请参考上一篇文章中的附件。 1 楼 learnworld 2012-08-30 引用如果不是必须,使用XML并不会给带来什么价值,甚至不如直接使用POJO,因为它是强类型的。
哪些情况下使用xml比较合适?或者是必须? 2 楼 iwangxiaodong 2012-08-30 兄弟,iBatis早就改名为MyBatis了,架构也变化很大,早早升级吧! 3 楼 bruce0508 2012-08-30 由pojo转xml也是可行的啊,没必要用这种方式吧 4 楼 sarin 2012-08-30 learnworld 写道引用如果不是必须,使用XML并不会给带来什么价值,甚至不如直接使用POJO,因为它是强类型的。
哪些情况下使用xml比较合适?或者是必须?
跨平台应用,比如web service,当然不绝对 5 楼 sarin 2012-08-30 iwangxiaodong 写道兄弟,iBatis早就改名为MyBatis了,架构也变化很大,早早升级吧!
本系列仅介绍iBatis,它们原理相通,知道原理即可,不追求版本号 6 楼 sarin 2012-08-30 bruce0508 写道由pojo转xml也是可行的啊,没必要用这种方式吧
当然了,这里仅仅是对iBatis的功能说明 7 楼 learnworld 2012-08-31 sarin 写道learnworld 写道引用如果不是必须,使用XML并不会给带来什么价值,甚至不如直接使用POJO,因为它是强类型的。
哪些情况下使用xml比较合适?或者是必须?
跨平台应用,比如web service,当然不绝对
思路很好,直接通过xml做输入输出参数;实际应用上,我认为使用POJO更合适,再转成你想要的数据格式(xml等),这样代码的复杂度、可读性、通用性都更好一些。