Spring框架中HibernateDaoSupport与JdbcDaoSupport的使用总结
需积分: 13 66 浏览量
更新于2024-09-13
收藏 41KB DOC 举报
"SSH连接池与HibernateDaoSupport与JdbcDaoSupport是两个不同的概念,SSH连接池通常指的是Spring、Struts和Hibernate三个框架中对于数据库连接的管理,而HibernateDaoSupport和JdbcDaoSupport是Spring框架提供的支持DAO层操作的抽象基类。本文将主要讨论这两个 Dao 支持类在Spring框架中的使用方法。
一、HibernateDaoSupport的使用
HibernateDaoSupport 是Spring为了简化Hibernate操作而设计的一个抽象基类。如果项目中使用了Hibernate作为持久层框架,可以通过继承HibernateDaoSupport来获取对HibernateTemplate的便捷访问。HibernateTemplate是一个方便的工具类,它封装了对Hibernate Session的操作,包括事务处理和异常转换。以下是一个简单的示例:
```java
public class TestA extends HibernateDaoSupport {
public void test() {
HibernateTemplate template = this.getHibernateTemplate();
List<User> list = template.find("from User");
for (int i = 0; i < list.size(); i++) {
User u = list.get(i);
System.out.println(u.getUserid() + "" + u.getEmail());
}
}
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
TestA t = (TestA) ctx.getBean("testa");
t.test();
}
}
```
在Spring配置文件`applicationContext.xml`中,需要注入SessionFactory到HibernateDaoSupport的子类中:
```xml
<bean id="testa" class="com.sun.demo.TestA">
<property name="sessionFactory">
<ref bean="mySessionFactory"/>
</property>
</bean>
```
二、JdbcDaoSupport的使用
与HibernateDaoSupport不同,JdbcDaoSupport是为使用JDBC操作数据库提供支持的抽象基类。如果项目不依赖Hibernate,而是直接使用JDBC,那么可以继承JdbcDaoSupport来获取JdbcTemplate的实例。JdbcTemplate提供了对JDBC操作的简化,例如自动处理SQL执行和结果映射。下面是一个简单的例子:
```java
public class TestB extends JdbcDaoSupport {
public void test() {
JdbcTemplate jdbcTemplate = getJdbcTemplate();
List<User> list = jdbcTemplate.query(
"SELECT * FROM user",
new RowMapper<User>() {
@Override
public User mapRow(ResultSet rs, int rowNum) throws SQLException {
User user = new User();
// Map ResultSet to User object
return user;
}
});
for (User u : list) {
System.out.println(u.getUserid() + "" + u.getEmail());
}
}
}
```
同样,也需要在`applicationContext.xml`中配置DataSource,以便JdbcDaoSupport的子类能够访问数据库:
```xml
<bean id="testb" class="com.sun.demo.TestB">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<!-- Configure your DataSource properties here -->
</bean>
```
总结来说,HibernateDaoSupport适用于使用Hibernate的项目,提供了对HibernateTemplate的便捷访问,而JdbcDaoSupport则适用于基于JDBC操作数据库的场景,通过JdbcTemplate提供了一种更安全、更易用的数据库访问方式。这两个类都极大地简化了DAO层的开发工作,让开发者能够专注于业务逻辑而不是底层的数据库操作。"
2012-11-29 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
spjhandsomeman
- 粉丝: 17
- 资源: 70
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜