hibernateTemplate hql 批量更新 (删除、添加、修改)也类似

首先要获得Session ,代码如下,记得要close

public boolean updateCommodityName(BusinessImage businessImage) {
        try {
            logger.info(businessImage.toString());
            String hql="update BusinessImage b set b.commodityName=‘"+businessImage.getCommodityName()
                    + "‘ where b.commodityNumber=‘"+businessImage.getCommodityNumber()+"‘";
            logger.info(hql);
            Session session = getHibernateTemplate().getSessionFactory().openSession();
            session.beginTransaction();
            Query query  = session.createQuery(hql);
            logger.info(query.executeUpdate());
            session.beginTransaction().commit();
            session.close();
            getHibernateTemplate().getSessionFactory().close();
            return true;
        } catch(Exception e) {
            return false;
        }
    }

原文地址:https://www.cnblogs.com/riyueqian/p/11487939.html

时间: 2024-08-09 03:46:01

hibernateTemplate hql 批量更新 (删除、添加、修改)也类似的相关文章

Ado.net[登录,增删改查,Get传值,全选,不选,批量删除,批量更新,添加]

[虽然说,开发的时候,我们可以使用各种框架,ado.net作为底层的东西,作为一个合格的程序员,在出问题的时候我们还是要知道如何调试] 一.增删改查 cmd.ExecuteReader();执行查询,所有sql语句的查询都用这个方法;       cmd.ExecuteNonQuery();执行所有sql语句的增删改都用这个方法; 1 <div> 2 <table> 3 <tr> 4 <td> 用户名:</td> 5 <td> 6 &

.net批量更新(插入、修改、删除)数据库

思路: 1. 设置DataTable中每行的状态标识,即调用DataRow的方法setAdded().setModified().Delete() 2. 使用DataAdapter的Update(DataTable)方法 代码例子: String connString = "........"; //连接字符串 String selectCommand = "select * from item"; SqlDataAdapter da = new SqlDataAd

EF 批量更新/删除数据

在网上找了很久,得到的答案是"Entity Framework 中不能同时更新多条记录",历经这么多版本,居然还没有这种基本功能,我真的很无语了.还要先查询出来,然后再对实体更新或删除,那效率可想而知了-- 在网上找了找解决方案,比如说这个 EF架构~性能高效的批量操作(Update篇) 感觉在剑走偏锋,里面实际是在拼Sql(当然EF最终也是拼SQL),我却不喜欢这么干,完全没有Linq的感觉,也很别扭. 最后又找到个开源库,又是老外解决的 Entity Framework Exten

.Net中批量更新数据(没有数据就添加)

方法一:使用SqlBulkCopy实现批量更新或添加数据. SqlBulkCopy类一般只能用来将数据批量插入打数据库中,如果数据表中设置了主键,出现重复数据的话会报错,如果没有设置主键,那么将会添加同样的数据,导致数据重复.这里有两种方案可实行方案,实现批量将数据更新到数据表中.如果数据存在,就更新数据:如果不存在,则添加一条新的数据 这两种方案都需要添加一个新的用作临时存储数据的表,假如有两个表 BatchTableTemp和BatchTable, SqlBulkCopy类先批量将数据添加到

Django REST Framework批量更新rest_framework_extensions

Django REST framework 是一套基于Django框架编写RESTful风格API的组件. 其中mixins配合viewsets能极其方便简化对数据的增删改查, 但本身并没有对数据的批量更新删除,利用rest_framework_extensions扩展包可以轻松帮我们实现这些功能. 安装使用 pip install rest_framework_extensions views.py 在视图类中继承ListUpdateModelMixin 1 from rest_framewo

Hibernate批量更新和批量删除批量添加 1(转)

通常,在一个Session对象的缓存中只存放数量有限的持久化对象,等到Session对象处理事务完毕,还要关闭Session对象,从而及时释放Session的缓存占用的内存.批量处理数据是指在一个事务中处理大量数据.以下程序在一个事务中批量更新CUSTOMERS表中年龄大于零的所有记录的AGE字段:Transaction tx = session.beginTransaction();Iterator customers=session.createQuery("from Customer c

MongoDB学习笔记~大叔分享批量添加—批量更新—批量删除

回到目录 说它是批量操作,就是说将集合对象一次提交到服务器,并对数据进行持久化,如果您的代码是一次一次的提交,那不算是批量操作!在之前的mongodb仓储中并没有对批量更新和批量删除进行实现,而今天在项目中,还是实现了这种批量的操作,并且已经通过测试,下面公开一下源代码 public void Insert(IEnumerable<TEntity> item) { var list = new List<WriteModel<TEntity>>(); foreach (

MySQL Workbench批量更新或删除

在使用MySQL Workbench进行批量更新或删除时,会出现如下错误: Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Queries and reconnect. 0.000 s

ASP.NET MVC用存储过程批量添加修改数据

用Entity Framework 进行数据库交互,在代码里直接用lamda表达式和linq对数据库操作,中间为程序员省去了数据库访问的代码时间,程序员直接可以专注业务逻辑层的编写.但是对于比较复杂的表关系关联查询或者修改就比较费劲了.通常可以采用的方式是用EF执行SQL语句或者"存储过程",特别是执行复杂批量任务,当然也可以在MVC底层用ADO.NET,这里就不多说了.怎么做批量呢?这里讲讲在EF下用存储过程批量添加修改数据. 需求是这样的:需要批量添加修改产品类别的投放任务数额,每