锁定老帖子 主题:在Springside中使用ibatis
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-02-16
Springside 中在orm这一层提供了ibatis的实现,可惜在例子中没有demo具体的用法。所以在这里简单demo一下在springside中使用ibatis的方法,运行效果如下:
(可能有人注意到这个列表不是使用ss中默认集成的extremetable,呵呵,没错,我用的是fins提供的ecside控件,关于在ss中使用ecside另外文章介绍) <o:p> </o:p> 1. 创建新项目 2. POJO java 代码
3.Service层 一个继承自IBatisEntityDao的Manager,已经具有了list,save…等方法:
java 代码
4.Web层 同样是一个继承自的Action类,也没什么好说的: java 代码
5.配置啊配置 重头戏来了,下面介绍ibatis需要的配置文件,以及这几个文件之间的关系。 (1) applicationContext-ibatis.xml 类似ss中演示hibernate时的配置文件dataAccessContext-hibernate.xml,配置数据源、sqlMapClient以及transactionManager。<o:p></o:p> 注意在sqlMapClient的配置中configLocation属性指明了SQL Map XML配置文件的位置信息,“SQL Map使用XML配置文件统一配置不同的属性,包括DataSource的详细配置信息,SQL Map和其他可选属性,如线程管理等。”(摘自《iBATIS SQL Maps开发指南》)。不过在本文中只配置了映射文件。
xml 代码
(2) sql-map.xml 正如在(1)中所说,本文件中只是说明了映射文件的位置,关于更多配置选项,请参考《iBATIS SQL Maps开发指南》。其中resource="ibatis/user.xml"中中的路径信息是相对classpath的。
xml 代码
(3) user.xml 终于到了最后一个配置文件了,这个文件就相当于hibernate的映射文件了,如下所示:
xml 代码
resultMap指明了数据库和对象之间的映射关系,至于下面这段,需要解释一下 <o:p></o:p> xml 代码
首先是这个id,对应了dao接口中的调用参数,而返回值resultMap的值(resultMap="result")又对应了对象-数据库映射的resultMap的id(resultMap id="result")。 关于这个id="com.gpcgd.model.User.select",有必要说明一下。 我们知道,ss中Action类的list方法是调用Manager类的getAll()方法的。 在/ss2/core/src/java/org/springside/core/dao/IBatisGenericDao.java的源码中我们可以看到: java 代码
其中entityClass.getName()=“com.gpcgd.model.User”,而POSTFIX_SELECT=“.select”。所以select的id要设置为:“com.gpcgd.model.User.select”。<o:p></o:p> 不知道能不能对“com.gpcgd.model.User.select”这种写法进行简化,如果哪位知道,请留言指正,谢谢!<o:p></o:p>
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-04-02
在Springside中使用ibatis
改用fins提供的ecside控件 其jsp的寫法為何?? perrych@gmail.com |
|
返回顶楼 | |
发表时间:2007-04-02
有空看看兄弟的针对springside2写的jwgen-ibatis代码生成器,专门用于生成采用ibatis作为数据访问层的项目代码。:)
http://forum.springside.org.cn/viewthread.php?tid=2052&extra=page%3D1 |
|
返回顶楼 | |
发表时间:2007-04-02
大致看了一下,还没机会实践,谢谢提醒
|
|
返回顶楼 | |
浏览 5714 次