有谁试过将服务器端的HSQLDB传输到客户端?
传输给客户端的HSQLDB数据库是一个原始的数据库。需要对原始数据库做大量的计算,由于计算比较耗时,因此,就打算将计算放到客户端去做,尽可能的利用一下客户端的计算能力。
但是,现在的问题就是,怎么才能把服务器端的这个HSQLDB数据库传输过去。(服务器端的HSQLDB是在Standalone模式下生成的,只有两个文件),同时,还需要考虑数据安全性的问题,我不想把这个服务器端的HSQLDB数据库保存在客户端。因此,我希望客户端能把整个HSQLDB数据库读到内存当中,进行计算之后,在内存中再新建一个HSQLDB数据库,保存计算后的结果,之后把计算 ...
1. 代码结构
在persistence下面有iface, sqlmapdao package以及DaoConfig.java, dao.xml文件。
iface就是定义dao的接口;sqlmapdao中定义dao的实现,sqlmapdao/sql包下是每个sqlmap所对应的xml文件,该文件就定义了每个mapped statement or 动态的statement; sql-map-config.xml就是定义iBatis的一些设置信息;到此为止,和以前都是一样的,没有什么特别的地方。
但是dao的实现有一些不同。所有的dao都继承于BaseSqlMapDao类
public clas ...
记录一些在IBatis中不是很舒服的地方:(随时保持更新)
1. 在映射文件中配置了select, update, insert, delete等语句的id,由我们在配置文件中指定。但是,我们在dao方法中的相关方法要记住这些id,如果引用不正确的话会发生错误。
2. N+1查询问题,Product 和 Category 是 N V 1的关系,如果
<result property=”category” column=”PRD_CAT_ID” select=”getCategory”/>
如上诉代码所示,取得一个product所属的Category时,需要再执行另一条SQL语句。那么 ...
呵呵,刚才又完成了一个iBatis的Demo程序:)
iBatis的lib一共只有三个。需要其他的设置,可以自己将其他的package给加进去,感觉确实是明快。回想下Hibernate,一堆东西呢。
对刚才做的东西做个小结:)
对于每个实体类,需要设置对该类所的DAO方法。比如我的User.java->User.xml
都非常好理解。
<typeAlias alias="user" type="com.wzg.ibatis.User"/>
<select id="getUserByName" parameterClass="java.lang.String" result ...
现在只能说看上去很爽,呵呵。
又一次要感谢xiaxin的文章,虽然是2004年9月的,但是感觉不错
在项目中写DAO代码已经比较烦了,连delete这样的操作还需要先将数据加载到实体中,然后才能将这个实体remove掉。我的老天,在hibernate中是这样的么?在ibatis中是这样子的么?在JDBC中是这样子的么?
还要维护一个ORM产品,实际上我们已经没有精力了:)项目组人员本来就不充足,然后还要有专人去维护这个东西,唉,不知道是进步还是退步,是有利于项目开发还是不利于项目开发。
嗯,别的不说了。至少iBatis让我看着比较心动,配置比Hibernate简单,能看到自己写的SQL语 ...







评论排行榜