对应于Hibernate Session接口暴露出来的方法,HibernateTemplate提供了大量与之对应的接口,但是存在一下几种情况,需要使用到回调机制:
1.需要使用的Seesion方法没有在HibernateTemplate中提供是需要使用回调机制。使用实例:
public List findByUserName(final String userName)
{
/**
* 根据用户名取用户的信息
*/
public List getInfoByUserName(final String userName)
{
return (List) this.hibernateTemplate.execute(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException, SQLException
{
Criteria criteria = session.createCriteria(UserDto.class);
criteria.add(Expression.eq("userName",userName));
criteria.setMaxResults(10);
return criteria.list();
}
});
}
2.需要使用sql语句时可以使用。实例如下:
/**
* 根据日期区间查找统计信息
*/
String sql = "select DATE_FORMAT(time ,'%X-%v) update_time,avg(time1)" +
"time1,sum(salary) salary" +
"from table where update_time between '2010-01-01' and '2010-12-01' ";
public List find(final String sql)
{
List list = (List) this.hibernateTemplate.execute(
new HibernateCallback()
{
public Object doInHibernate(final Session session)
throws HibernateException, SQLException
{
Query query = session.createSQLQuery(sql);
return query.list();
}
});
return list;
}
未完待续......
分享到:
相关推荐
7. **响应处理**:Controller处理完请求后,可以返回JSON数据,前端使用Ajax回调函数解析并更新DOM。 8. **视图解析**:Spring MVC的视图解析器如JSP、Thymeleaf或FreeMarker,用于生成最终的HTML页面。 这个项目...
整合的关键在于配置 Spring 的 JDBC 回调和 Hibernate 的 SessionFactory。Spring 可以通过其声明式事务管理来控制 Hibernate 的事务,这样可以避免手动管理事务的复杂性。同时,Spring 提供的 ...
这些类包含属性(对应表字段)和getter/setter方法,以及可能的生命周期回调方法。 6. 测试和调用:最后,我们可以通过Spring的ApplicationContext获取到DAO实例,然后调用其方法进行数据库操作。这样,整个流程就...
通过实现这个接口,可以在执行特定数据库操作前后的回调函数中进行额外的工作,如事务控制、日志记录等。 6.5.6 使用IoC容器组装各种组件 Spring的IoC容器是其核心特性之一,它负责管理应用中的对象及其依赖关系。...
Spring 3.2是该框架的一个版本,它增强了对Java EE 6的支持,提供了更好的类型安全的回调注解,并且改进了数据访问层的抽象。 其次,Hibernate是一个对象关系映射(ORM)框架,它允许开发者使用Java对象来操作数据库...
通过`HibernateTemplate`的`execute`方法传入一个实现了`HibernateCallback`接口的对象,可以在回调方法中执行任意的Hibernate操作。 ```java public class PersonDaoImpl extends HibernateDaoSupport implements ...
Spring还支持使用回调机制(如HibernateCallback)处理特殊查询和分页。 Hibernate的核心在于对象关系映射,它允许我们将Java对象直接映射到数据库表。开发者需要正确配置实体类(Entity)和数据访问对象(DAO),...
它通过回调机制(HibernateCallback)对Hibernate的操作进行封装,使开发者能够以一种更面向对象的方式处理数据库交互。例如,你可以通过实现HibernateCallback接口的doInHibernate方法,传入一个回调函数,执行特定...
`queryForPage` 方法通过`getHibernateTemplate().executeFind()`方法执行HQL查询,并利用`HibernateCallback`接口回调来设置查询的起始位置和最大结果数,从而实现分页。`getAllRowCount` 方法则直接返回HQL查询后...
TestExecutionListener 接口定义了一系列回调方法,用于在不同的测试阶段执行特定的操作。Spring 提供了几个内置的实现类: - **DependencyInjectionTestExecutionListener**:负责解析测试用例中的 `@Autowired` ...
- 在`com.lnic.dao`包中创建`UserDao`接口,定义获取用户信息的方法`getName(String id)`,以及其实现类`UserDaoImpl`,继承`HibernateDaoSupport`,使用Hibernate回调方法处理数据库操作。 - 配置`hibernate.cfg....
2. **JSR 250**:定义了几个核心注解,如`@PostConstruct`和`@PreDestroy`,用于生命周期回调方法的标注。 3. **JSR 330**:定义了依赖注入的标准注解,如`@Inject`用于字段级别的DI。 4. **JSR 220**:为EJB 3.0...
Spring4.0引入了更多的改进,包括对Java 8的支持、增强的类型安全的回调注解、改进的缓存抽象以及对WebSocket的支持。在Spring4中,可以使用JSR-330的依赖注入注解,如`@Inject`,同时保持向后兼容。 SpringMVC是...
Spring的RestTemplate或WebClient可以帮助我们调用这些API,处理支付回调和异步通知。 4. **异常处理**:Spring的@ControllerAdvice和@ExceptionHandler注解可以全局捕获和处理支付过程中可能出现的异常,提供统一...
Spring MVC通过DispatcherServlet、Controller、Model-View-Controller模式以及一系列的回调方法来组织和管理业务逻辑。 接着,Hibernate是一个强大的对象关系映射(ORM)框架,它可以将数据库中的表与Java类映射,...
Hibernate5引入了新的特性,如实体生命周期回调、多租户支持、更好的JPA兼容性等,提高了开发效率和数据库操作的灵活性。 Spring Security4.2是Spring框架的安全模块,它提供了全面的身份验证、授权和安全控制功能...
开发者通常会配置DWR的设置,定义允许的远程方法,以及处理回调函数,以便在接收到服务器响应时更新页面。 总的来说,这个项目展示了Java Web开发中常见的一套技术栈,利用Struts2处理请求,Spring管理依赖和事务,...
车辆管理系统(struts+hibernate+spring+oracle).rar 对公务用车进行档案、费用、调度、维修、安全、运行等全方位的管理和统计,以方便...
4. **Bean管理**:Spring容器负责创建、初始化和管理Bean,支持各种生命周期回调方法。 5. **数据访问支持**:Spring整合了多种数据访问技术,包括JDBC、Hibernate、MyBatis等,简化数据库操作。 **整合Struts2、...