public void createRolePermissionBySql(final String roleId,final String[] permIds){
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
if(permIds==null||permIds.length==0)
return null;
Connection conn=session.connection();
PreparedStatement ps=null;
String sql=" insert into base_role_permission (ROLE_PERM_ID,PERM_ID,ROLE_ID,CREATE_DATE)" +
" values (?,?,?,?) ";
ps=conn.prepareStatement(sql);
if(log.isDebugEnabled())
log.debug("batch add base_role_permission:"+sql);
UUIDHexGenerator uuidGenerator=null;
for(String permId:permIds){
uuidGenerator=new UUIDHexGenerator();
ps.setString(1,uuidGenerator.generate(null, null).toString());
ps.setString(2,permId);
ps.setString(3, roleId);
ps.setDate(4, DateUtils.getJavaSqlDate());
ps.addBatch();
}
int[] counts=ps.executeBatch();
ps.close();
session.flush();
session.close();
return null;
}
});
}
注意:<property name="jdbc.batch_size">
分享到:
相关推荐
### Hibernate批量删除详解 #### 背景与概念 在Java开发中,处理大量数据时,经常需要执行批量操作,如批量更新或批量删除。这些操作对于提高应用程序性能至关重要,尤其是在涉及成千上万条记录的情况下。...
在实际应用中,为了提高性能和防止脏读,通常会使用批处理操作,比如批量添加或删除。此外,还可以利用Criteria或HQL(Hibernate Query Language)进行更复杂的查询操作。 总的来说,Java Hibernate3简化了数据库...
下载Hibernate-Extensions的完整安装包(如Hibernate-extensions-2.1.3)后,将其添加到项目的类路径中。接着,在Hibernate配置文件中启用所需的扩展,并根据项目需求进行相应配置。安装过程简单直观,使得开发者能...
* 添加配置文件:在项目的 src 目录下添加 hibernate.cfg.xml 配置文件,以便配置 Hibernate 的一些常用信息。 * 配置 Hibernate:在 hibernate.cfg.xml 文件中配置 Hibernate 的一些常用信息,例如 JDBC 连接数据库...
在开始使用Hibernate之前,需要将其库文件添加到项目的类路径中。`Hibernate3.1_DOC_CN.chm`文件包含的是Hibernate 3.1版本的中文文档,其中详细介绍了配置步骤。配置文件`hibernate.cfg.xml`是关键,包含了数据库...
这个例子展示了如何使用Servlet和JSP实现批量添加功能。下面将详细解释这个过程涉及的知识点。 1. **Servlet**: Servlet是Java编写的服务器端应用程序,用于扩展服务器的功能,处理HTTP请求。在这个例子中,`...
优化包括合理设置缓存策略、避免N+1查询问题、批量操作、延迟加载等。理解并合理运用这些技巧,可以显著提升Hibernate应用的性能。 通过《Hibernate5实例程序》中的代码示例,读者可以亲手实践上述各个知识点,...
4. **hibernate.default_schema** 和 **hibernate.default_catalog**:这两个参数用于指定数据库的模式(schema)和目录(catalog),当在SQL中引用未完全限定的表名时,Hibernate会自动添加这些前缀。 5. **...
1. Hibernate 安装和配置:介绍如何设置 Hibernate 的环境,包括添加依赖库、配置 Hibernate 配置文件(hibernate.cfg.xml)。 2. 实体类和映射文件:讲解如何创建 Java POJO(Plain Old Java Object)作为数据库表...
11. **事件监听器**:通过实现Hibernate的事件监听接口,可以对特定的持久化操作添加自定义逻辑,如保存前后的处理。 12. **批处理**:Hibernate支持批处理操作,如批量插入、更新,可以显著提高数据处理效率。 ...
- **条件查询**: 在HQL或SQL中添加WHERE子句实现。 #### 15. NATIVE SQL - **使用SQL QUERY**: 执行原生SQL语句。 #### 16. 过滤数据 - **过滤数据**: 使用Filter接口实现数据过滤。 #### 17. XML映射 - **XML...
3. **hibernate.jdbc.batch_versioned_data**:开启后,Hibernate会为自动版本化的数据使用批量DML操作。 4. **hibernate.jdbc.factory_class**:自定义的Batcher类,一般不常用,除非有特殊需求。 5. **hibernate...
8. 批量操作:Hibernate支持批量插入、更新和删除,可以显著提高性能,例如`StatelessSession`用于执行此类操作。 9. JPA兼容性:Hibernate既是独立的ORM框架,也实现了Java Persistence API(JPA),因此具备跨...
12. **hibernate.use_sql_comments**: 如果设置为`true`,Hibernate将在SQL中添加注释,便于调试。 **Hibernate JDBC和连接属性**: 13. **hibernate.jdbc.fetch_size**: 设置JDBC抓取(fetch)大小,非零值,通过`...
例如,使用Session的createCriteria()或createQuery()方法,然后添加查询条件,最后调用list()或uniqueResult()获取结果。 6. **缓存机制** Hibernate支持一级缓存(Session级别的)和二级缓存(SessionFactory...
学习者将了解如何在项目中添加Hibernate依赖,配置hibernate.cfg.xml文件,设置数据库连接信息,并创建SessionFactory。 4. 实体类与映射文件: 学习者将学习如何使用注解或XML配置文件定义实体类,以及如何映射...
通过以上介绍,我们可以看到 Hibernate 不仅简化了 Java 应用程序与数据库交互的过程,还提供了一系列强大的工具和特性来支持高级数据库操作,如事务管理、缓存策略、批量处理等,大大提高了开发效率。在实际应用中...
1. 引入依赖:在项目中添加Spring和Hibernate的依赖库。 2. 配置Hibernate:创建Hibernate的配置文件(如hibernate.cfg.xml),定义数据源、SessionFactory等。 3. 创建实体类:用Java类表示数据库表,并用注解或XML...