http://blog.csdn.net/wangshfa/article/details/27323297
1 |
public interface BatchDao<T> { |
2 |
public void batchInsert(List<T> list); |
4 |
public void batchUpdate(List<T> list); |
1 |
public interface ReceiptDao extends PagingAndSortingRepository<Receipt, Long>, BatchDao<Receipt> { |
4 |
Page<Receipt> findByUserId(Long userId, Pageable pageable); |
01 |
import java.util.List; |
03 |
import javax.persistence.EntityManager; |
04 |
import javax.persistence.PersistenceContext; |
06 |
import org.hibernate.Query; |
07 |
import org.hibernate.ScrollableResults; |
08 |
import org.hibernate.Session; |
09 |
import org.springframework.transaction.annotation.Transactional; |
11 |
import com.ygsoft.cxpt.dao.BatchDao; |
12 |
import com.ygsoft.util.dwz.Page; |
16 |
* @author <a href="mailto:ketayao@gmail.com">ketayao</a> Version 1.1.0 |
17 |
* @since 2012-8-27 上午10:55:41 |
20 |
public abstract class AbstractDao implements BatchDao{ |
23 |
protected EntityManager em; |
26 |
public void batchInsert(List list) { |
27 |
for ( int i = 0 ; i < list.size(); i++) { |
28 |
em.persist(list.get(i)); |
37 |
public void batchUpdate(List list) { |
38 |
for ( int i = 0 ; i < list.size(); i++) { |
39 |
em.merge(list.get(i)); |
48 |
* Hibernate使用游标分页的一个通用查询分页方法 |
55 |
@SuppressWarnings ( "unchecked" ) |
56 |
public List findPageByQuery( final String queryString, |
57 |
final Object[] parameters, final Page page) { |
59 |
Session session = (Session) em.getDelegate(); |
61 |
Query query = session.createQuery(queryString); |
64 |
if (parameters != null ) { |
65 |
for ( int i = 0 ; i < parameters.length; i++) { |
66 |
query.setParameter(i, parameters[i]); |
71 |
ScrollableResults sr = query.scroll(); |
73 |
int totalCount = sr.getRowNumber(); |
76 |
int totalRec = totalCount + 1 ; |
77 |
page.setTotalCount(totalRec); |
79 |
int startIndex = (page.getPageNum() - 1 ) * page.getNumPerPage(); |
81 |
query.setFirstResult(startIndex); |
82 |
query.setMaxResults(page.getNumPerPage()); |
84 |
List reList = query.list(); |
01 |
import com.ygsoft.cxpt.entity.FmisItem; |
05 |
* @author <a href="mailto:ketayao@gmail.com">ketayao</a> |
07 |
* @since 2012-9-7 下午5:28:58 |
10 |
public class FmisItemDaoImpl extends AbstractDao<FmisItem> { |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?