bulkupdatebulk conductivity是什么意思
bulkupdate 时间:2021-06-05 阅读:(
)
hibernate批量插入操作
是用循环,最mit,但是要注意不能一次过循环save10000条数据mit,因为这样会使Hibernate的一级缓存爆满导致内存溢出的异常,所以每隔100条记录mit一次吧,Hibernate的二级缓存会决定该什么时候提交以实现批量插入的高效率的。
try {
tx = session.beginTransaction();
for(int i=0;i<=10000;i++)
{
UserInfo u = new UserInfo();
u.setUserName("FuJingZhou");
u.setPassword("123");
session.save(u);
if(i%100||i==10000)
{
mit();
if(i<10000)
tx = session.beginTransaction();
}
}
tx = null;
}
方法大概是这样的,这段代码我没有运行过,你再注意一下结构吧。
java中通用dao层的批量修改,具体是:dao层有一个方法,它的参数为List,List里面是 一组对象。
通常是将对象的id放入list里,然后对list循环,先是从db里取出对象,然后将变化的域值赋进去,然后执行更新操作。
你说list里是一组对象,不知道这个对象是怎么形成的怎么用spring语句往数据库加数据
Spring中常用的操作数据库的(Dao)方法
接口:
public interface BaseDAO {
void save(T instance);
void update(T instance);
void delete(T instance);
T get(String id);
List findAll();
List findByExample(T instance);
int bulkUpdate(String hql);
int bulkUpdate(String hql, Object value);
int bulkUpdate(String hql, Object[] value);
List find(String queryString);
List find(String queryString, Object obj);
List find(String queryString, Object[] obj);
List findByNamedParam(String queryString, String paramName, Object value);
List findByNamedParam(String queryString, String[] paramNames, Object[] values);
List findByNamedQuery(String queryName);
List findByNamedQuery(String queryName, Object value);
List findByNamedQuery(String queryName, Object[] values);
List findByProperty(String property, Object value);
List findByPagination(final T t, final int firstResult, final int maxResult);
int countByPagination(final T t);
}
实现类:
import java.sql.*;
import java.util.List;
.hibernate.*;
.hibernate.criterion.*;
.springframework.orm.hibernate3.*;
.springframework.orm.hibernate3.support.*;
.vo.T;
public abstract class BaseDAOImpl extends HibernateDaoSupport implements BaseDAO{
protected abstract Class type(); //反射方法调用类
// 保存
public void save(T instance) {
getHibernateTemplate().save(instance);
}
// 更新
public void update(T instance) {
getHibernateTemplate().update(instance);
}
// 删除
public void delete(T instance) {
getHibernateTemplate().delete(instance);
}
// 根据ID查询
@SuppressWarnings("unchecked")
public T get(String id) {
return (T) getHibernateTemplate().get(type(), id);
}
// 查询所有
@SuppressWarnings("unchecked")
public List findAll() {
return getHibernateTemplate().loadAll(type());
}
// 根据例子查询
@SuppressWarnings("unchecked")
public List findByExample(T instance) {
return getHibernateTemplate().findByExample(instance);
}
// 根据HQL语句进行update操作等
public int bulkUpdate(String hql) {
return getHibernateTemplate().bulkUpdate(hql);
}
// 根据HQL语句进行update操作等
public int bulkUpdate(String hql, Object value) {
return getHibernateTemplate().bulkUpdate(hql, value);
}
// 根据HQL语句进行update操作等
public int bulkUpdate(String hql, Object[] value) {
return getHibernateTemplate().bulkUpdate(hql, value);
}
// 根据HQL语句进行查询
@SuppressWarnings("unchecked")
public List find(String queryString) {
return getHibernateTemplate().find(queryString);
}
// 根据HQL语句进行查询
@SuppressWarnings("unchecked")
public List find(String queryString, Object obj) {
return getHibernateTemplate().find(queryString, obj);
}
// 根据HQL语句进行查询
@SuppressWarnings("unchecked")
public List find(String queryString, Object[] obj) {
return getHibernateTemplate().find(queryString, obj);
}
/**
* 使用命名查询进行查询
*
* @param queryString
* HQL
* @param paramName
* 参数名
* @param value
* 参数值
* @return
*/
@SuppressWarnings("unchecked")
public List findByNamedParam(String queryString, String paramName, Object value) {
return this.getHibernateTemplate().findByNamedParam(queryString, paramName, value);
}
/**
* 使用命名查询进行查询 多个参数
*
* @param queryString
* HQL
* @param paramNames
* 参数名的数组
* @param values
* 参数值的数组
* @return
*/
@SuppressWarnings("unchecked")
public List findByNamedParam(String queryString, String[] paramNames, Object[] values) {
return this.getHibernateTemplate().findByNamedParam(queryString, paramNames, values);
}
/**
* 使用HIBERNATE映射文件中的定义的HQL语句进行查询
*
* @param queryName
* 文件中定义的HQL语句的名字
* @return
*/
@SuppressWarnings("unchecked")
public List findByNamedQuery(String queryName) {
return getHibernateTemplate().findByNamedQuery(queryName);
}
/**
*
* @param queryName
* @param value
* @return
*/
@SuppressWarnings("unchecked")
public List findByNamedQuery(String queryName, Object value) {
return getHibernateTemplate().findByNamedQuery(queryName, value);
}
/**
*
* @param queryName
* @param values
* @return
*/
@SuppressWarnings("unchecked")
public List findByNamedQuery(String queryName, Object[] values) {
return getHibernateTemplate().findByNamedQuery(queryName, values);
}
/**
* 根据属性查询
*
* @param property
* @param value
* @return
*/
@SuppressWarnings("unchecked")
public List findByProperty(String property, Object value) {
return this.getHibernateTemplate().findByCriteria(
DetachedCriteria.forClass(type()).add(Restrictions.eq(property, value)));
}
/**
* 分页查询
* 注:不能满足要求子类重写该方法
* @param t
* @param firstResult
* @param maxResult
* @return 返回分页查询的数据
*/
@SuppressWarnings("unchecked")
public List findByPagination(final T t, final int firstResult, final int maxResult) {
return getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Criteria criteria = session.createCriteria(type());
criteria.add(Example.create(t).enableLike(MatchMode.ANYWHERE));
criteria.setFirstResult(firstResult);
criteria.setMaxResults(maxResult);
return criteria.list();
}
});
}
/**
* 分页统计查询
*
* @param t
* @return 一共有多少条数据
*/
@SuppressWarnings("unchecked")
public int countByPagination(final T t) {
return (Integer) getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Criteria criteria = session.createCriteria(type());
criteria.setProjection(Projections.rowCount());
criteria.add(Example.create(t).enableLike(MatchMode.ANYWHERE));
return criteria.uniqueResult();
}
});
}
}
反射类:
public class ClassInfoDAO{
@SuppressWarnings("unchecked")
protected Class type() {
return User.class;
}
}bulk conductivity是什么意思
bulk conductivity
体积电导率
双语对照
词典结果:
bulk conductivity
[英][b?lk ?k?nd?k?t?v?ti:][美][b?lk ?kɑnd?k?t?v?ti]
体电导率,体积电导率;
春节期间我们很多朋友都在忙着吃好喝好,当然有时候也会偶然的上网看看。对于我们站长用户来说,基本上需要等到初八之后才会开工,现在有空就看看是否有商家的促销。这里看到来自HMBcloud半月湾服务商有提供两款春节机房方案的VPS主机88折促销活动,分别是来自洛杉矶CN2 GIA和日本CN2的方案。八八折优惠码:CNY-GIA第一、洛杉矶CN2 GIA美国原生IP地址、72小时退款保障、三网回程CN2 ...
数脉科技怎么样?昨天看到数脉科技发布了7月优惠,如果你想购买香港服务器,可以看看他家的产品,性价比还是非常高的。数脉科技对香港自营机房的香港服务器进行超低价促销,可选择10M、30M的优质bgp网络。目前商家有优质BGP、CN2、阿里云线路,国内用户用来做站非常不错,目前E3/16GB阿里云CN2线路的套餐有一个立减400元的优惠,有需要的朋友可以看看。点击进入:数脉科技商家官方网站香港特价阿里云...
legionbox怎么样?legionbox是一家来自于澳大利亚的主机销售商,成立时间在2014年,属于比较老牌商家。主要提供VPS和独立服务器产品,数据中心包括美国洛杉矶、瑞士、德国和俄罗斯。其中VPS采用KVM和Xen架构虚拟技术,硬盘分机械硬盘和固态硬盘,系统支持Windows。当前商家有几款大硬盘的独立服务器,可选美国、德国和瑞士机房,有兴趣的可以看一下,付款方式有PAYPAL、BTC等。...
bulkupdate为你推荐
腾讯举报中心腾讯的投诉电话是多少啊?chrome系统Chrome操作系统是什么样的系统?orphanremoval大家知道orphan这个单词除了孤儿还有什么意思吗?网络审计网经科技1820听说是网络审计路由器,大家知道怎么样吗?设备支持多少用户啊vga接口定义主板VGA接口两排针脚的循序是怎么排列12种颜色十二种颜色的英文怎么读?印度尼西亚国家代码手机上的国家代码是什么数据挖掘项目将来想从事统计分析和数据挖掘,需要哪些技能谷歌图片识别怎么通过一张GIF图在网上搜索出其出处(你们懂的...)以图搜图那个百度只找到了一模一样的..,有微信智能机器人有没有可以拉进微信群的聊天机器人
广东虚拟主机 工信部域名备案 132邮箱 私服服务器 56折 光棍节日志 全能主机 网通代理服务器 panel1 小米数据库 seednet hostloc 免费dns解析 卡巴斯基是免费的吗 架设邮件服务器 学生服务器 服务器硬件配置 789电视剧网 双十二促销 美国十大啦 更多