来个大神问下关于JAVA的SSH框架的一些问题

用了JDBC连接了数据库,还用hibernate映射了文件,最后却用了SpringJDBC模版对数据库进行操作,请问要怎么修改才能觉得正常的思维,别人的项目我拿来看,表示... 用了JDBC连接了数据库,还用hibernate映射了文件,最后却用了SpringJDBC模版对数据库进行操作,请问要怎么修改才能觉得正常的思维,别人的项目我拿来看,表示这样没看懂,怎么样改才能充分利用SSH,难道是用hibernate连接数据库并用HQL加上一些原有的SpringJDBC模版的操作语言吗? 展开
 我来答
典勇嘉谋
2014-03-12 · TA获得超过362个赞
知道小有建树答主
回答量:308
采纳率:100%
帮助的人:141万
展开全部
我的理解是,
一、hibernated作用
1、封装了JDBC的连接
2、将获取到的数据库表里面的字段映射到JAVA实体上了。
对于你说的JDBC的连接我猜测,
1、你真的使用了原始的JDBC,手动创建了Connection,然后连接了。可能还创建了一个连接池之类的。随后使用hibernate映射文件,得到实体。
2、你看到的所谓的JDBC连接其实JDBC的配置文件,因为虽然hibernate封装了JDBC,但是连接的时候JDBC的一些参数还是需要的,比如说数据库的名字、URL、数据库的登录用户及密码。那么这个项目其实是没有直接使用JDBC的。

二、spring的作用
1、控制反转,也就是说spring会自动把dao实现注入到service层,service实现注入到control层。
2、切面编程,这边没有涉及。
使用springJDBC模板对数据库操作,应该是对JDBC的操作的封装,最后还是通过hibernate进行数据库的连接。

我觉得SSH充分利用是这样。struts就负责control层,及filter等。spring负责注入实体,和切面编程(事物)。hibernate负责dao的具体实现操作及映射实体。有部分CRUD是可以交给HQL的,像那种特复杂的可以直接createNativeSQL来执行。里面放入原始的SQL,我们称为原生SQL。其实hibernate在我的理解中最大的问题是效率问题。像表连接查询也可以通过HQL的。
shewai12110
2014-03-12 · TA获得超过145个赞
知道答主
回答量:69
采纳率:0%
帮助的人:32.3万
展开全部
hibernate是对jdbc的封装,但是不够灵活,所以有些时候我没有会用jdbc,实际工作中hibernate其实用的不多吧,至少我公司和我一些同学公司都没有用hibernate,一般都是采用ibatis/Mybatis,或者自己公司的一些框架,因为里面的sql语句可控制。如果数据量特别大的情况,直接使用hibernate,其封装sql查询效率十分底下,当然他也有优化的策略,但打打增加了工作的复杂性。所以楼主不必纠结。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
习惯自己丶
2014-03-12 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:116
采纳率:0%
帮助的人:53.3万
展开全部
可能不是一个人做的,每个人操作的方法都不一样,然后就有这样的结构。
又可能是他是套用了某个代码,里面就有这个数据操作。
认真看看dao层到底用了什么连接的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiao1596377
2014-03-12 · TA获得超过552个赞
知道答主
回答量:194
采纳率:0%
帮助的人:121万
展开全部
额 好乱啊 , 直接就用hibernate 就可以啊 ,
为什么要再用啊springJDBC的 功能重复了啊
追问
因为有些语句很复杂HQL不是只能处理简单的增删改查么,那把SpringJDBC怎么改成HQL的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式