Hibernate实现分表
2014-07-03 11:24
316 查看
由于单表数据量庞大,在查询时会很慢,所以我们先分表,再在每个表单独加索引会提高很大的效率。
下面直接上代码:
利用这个Hibernate拦截器每次操作数据库都会在底层切换表名
那么我们在Dao层应该这么写:
下面直接上代码:
public class QueryResInterceptor extends EmptyInterceptor{ private String oldName; private String newName; public QueryResInterceptor(String oldName,String newName){ this.oldName = oldName; this.newName = newName; } //重写该方法,hibernate是封装了jdbc的,但他底层还是通过sql来操作的。 public String onPrepareStatement(String sql) { sql = sql.replace(oldName,newName); return sql; } }
利用这个Hibernate拦截器每次操作数据库都会在底层切换表名
那么我们在Dao层应该这么写:
public void saveUser(String oldName,String newName,User user){ QueryResInterceptor interceptor = newQueryResInterceptor(oldName,newName); Session session = super.getHibernateTemplate().getSessionFactory().openSession(interceptor); try { session.save(user); } catch (HibernateException e) { e.printStackTrace(); }finally{ session.close(); } }
相关文章推荐
- 在Hibernate中实现复杂的数据映射
- Hibernate 实现分页查询 [转]
- 使用Hibernate来实现持久对象
- Hibernate的自定义数据类型实现接口之一——UserType祥解
- hibernate3 实现查询的多种方法
- 在Hibernate中实现复杂的数据映射
- jbpm与AgileFlow的hibernate持久化实现方式对比
- 实现Hibernate分页查询原理解读
- Hibernate 针对 Oracle 特有函数及自定义函数的实现办法
- Struts+Hibernate模式: jsp->servlet->session bean->DAO->Hibernate->Database 各层面的功能及其实现
- 使用Hibernate来实现持久对象 (Hibernate的一个例子)
- Hibernate实现无限子结点的树形目录
- 在Hibernate中使用多表查询的一种实现
- 使用Hibernate来实现持久对象
- 在Hibernate中实现复杂的数据映射
- 实现Hibernate分页查询原理解读
- Struts+Hibernate开发实践 分页的实现
- 使用Hibernate 和 Spring 实现一个事务持久层
- 在Hibernate中实现复杂的数据映射
- 把Shark的用户管理模块改为Hibernate实现