你没看错,我也没有发神经。
这就是我要做的,用XML作为JAVA和数据库交流的载体。粗想一下是有些些反人类,不过如果能一次性取出多条多种数据集,也算是个不错的选择吧。本篇不深究是否值得这么去折腾,蛋,如果有一天你必须去面对这个无情的事实的时候,可以用下面的法子试试看。以下用Mybatis实现的,其实直接JDBC的访问也是一样的,本例只不过借用Mybatis搭好的架子而已。
先简单说说你需要的Java环境:JDK 5 以上,Oracle10G版本以上的驱动(我用的ojdbc6.jar),访问Oracle XMLType的组件包--xdb6.jar xmlparserv2.jar,还有就是DAO的---mybatis-3.2.0
这些包基本都可以从各自的官方获得,特别说一下xmlparserv2.jar,这傻逼玩意儿需要下载Oracle的开发工具比如SQLDeveloper之类的之后,在其内部寻找。Oracle官方没有直接下载的地儿——决逼坑爹!
好了开始:
1。先做一个用于处理XMLType的TypeHandler以便Mybatis识别你要处理的类型。
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.SQLXML;
import oracle.sql.OPAQUE;
import oracle.xdb.XMLType;
import org.apache.ibatis.type.BaseTypeHand