当前位置: 首页 > news >正文

上海专业网站制作开发/长沙seo网络营销推广

上海专业网站制作开发,长沙seo网络营销推广,网站规划的基本原则,企业品牌网站建设刚完成的项目需求:一个全省范围内的项目,所有市访问同一个网站,所有市对自身的数据有管理权限;在这些数据中,一公告这么一个实体,所有管理员均可向这张表中写入数据,每个月的数据都会超过万条。…

        刚完成的项目需求:一个全省范围内的项目,所有市访问同一个网站,所有市对自身的数据有管理权限;在这些数据中,一公告这么一个实体,所有管理员均可向这张表中写入数据,每个月的数据都会超过万条。为避免公告表变成巨无霸,现将公告表按区域、公告类型分表。

        主要代码就一个类:

/*** */
package com.hbcgs.notice.interceptor;import org.hibernate.EmptyInterceptor;/*** @author Geloin* */
@SuppressWarnings("serial")
public class NoticeInfoInterceptor extends EmptyInterceptor {private String targetTableName;// 目标母表名private String tempTableName;// 操作子表名public NoticeInfoInterceptor() {}// 为其在spring好好利用 我们生成公用无参构造方法@Overridepublic java.lang.String onPrepareStatement(java.lang.String sql) {sql = sql.replaceAll(targetTableName, tempTableName);return sql;}public String getTargetTableName() {return targetTableName;}public void setTargetTableName(String targetTableName) {this.targetTableName = targetTableName;}public String getTempTableName() {return tempTableName;}public void setTempTableName(String tempTableName) {this.tempTableName = tempTableName;}}

        在控制分表时,在管理数据层,假设是Dao层,进行以下处理:

	/*** 保存公告信息,分表保存* * @param info*/public void save(NoticeInfo info) {SessionFactory sf = super.getHibernateTemplate().getSessionFactory();NoticeInfoInterceptor interceptor = new NoticeInfoInterceptor();// 要拦截的目标表名interceptor.setTargetTableName("noticeinfo");String realTableName = "NOTICEINFO_" + info.getArea().getAreaId() + "_"+ info.getType();// 要替换的子表名interceptor.setTempTableName(realTableName);try {if (!existsTableNames.contains(realTableName)) {checkTable(sf.openSession(), realTableName);existsTableNames.add(realTableName);}} catch (Exception e) {e.printStackTrace();}Session session = sf.openSession(interceptor);try {// 获取事务Transaction tx = session.beginTransaction();// 开启事务tx.begin();// 保存和更新session.saveOrUpdate(info);// 提交tx.commit();} catch (Exception e) {e.printStackTrace();} finally {session.close();}}

        Dao层继承了org.springframework.orm.hibernate3.support.HibernateDaoSupport类,checkTable方法主要是为了检查表是否存在,不存在时需要建表:

	/*** 检查表是否存在,不存在时创建* * @param session* @param tableName* @throws Exception*/private void checkTable(Session session, String tableName) throws Exception {try {// 测试查询String testSql = "select * from " + tableName;Query query = session.createSQLQuery(testSql);query.setFirstResult(0);query.setMaxResults(1);query.uniqueResult();} catch (HibernateException e) {// Connection conn = session.connection();// Statement stmt = conn.createStatement();StringBuilder builder = new StringBuilder();builder.append("create table ");builder.append(tableName);builder.append("(");builder.append("ID      NUMBER(10) not null,");builder.append("STR1    VARCHAR2(255),");builder.append("STR2    VARCHAR2(255),");builder.append("STR3    VARCHAR2(255),");builder.append("STR4    VARCHAR2(255),");builder.append("STR5    VARCHAR2(255),");builder.append("STR6    VARCHAR2(255),");builder.append("STR7    VARCHAR2(255),");builder.append("STR8    VARCHAR2(255),");builder.append("STR9    VARCHAR2(255),");builder.append("STR10   VARCHAR2(255),");builder.append("PYEAR   NUMBER(10),");builder.append("PMONTH  NUMBER(10),");builder.append("TYPE    NUMBER(10),");builder.append("AREA_ID NUMBER(10)");builder.append(")");Query query = session.createSQLQuery(builder.toString());query.executeUpdate();} finally {session.flush();session.close();}}

        实现方法显然比较粗糙,不过暂时够解决问题,Mark一下。

 


http://www.jmfq.cn/news/5156965.html

相关文章:

  • 中国建设银行信用卡官网站/免费的企业黄页网站
  • 环保局网站建设 自查报告/网上销售渠道
  • 成都建设网站报价/网站访问量排行榜
  • 如何做网站设计/广东seo价格是多少钱
  • 丹阳官方网站建站/seo咨询河北
  • 要建一个优惠卷网站怎么做/今日热点新闻事件
  • 光谷做网站推广怎么样/站长工具麻豆
  • 专业网站建设微信商城开发/富阳seo关键词优化
  • 网站因该怎么做参考文献/买友情链接
  • 做网站的升级人/我国网络营销现状分析
  • 做微信推送的网站/线上引流的八种推广方式
  • 分析网易严选网站开发/优化推广排名网站教程
  • 樟木头东莞网站建设/如何开展网络营销
  • 做数据表格的网站/如何优化网络延迟
  • 移动端网站开发前端模板/淄博新闻头条最新消息
  • 建筑模板915 1830价格/企业seo顾问公司
  • 做网站推广还是B2B推广好/运营推广计划怎么写
  • 女与男爱做电影网站免费/营销的四种方式
  • 一流的中小型网站建设/谷歌seo顾问
  • 个人备案 做政府网站/淘宝关键词搜索量查询工具
  • 深圳网站制作开发排名/互联网推广方案
  • 东莞做微网站建设/郑州seo优化推广
  • 博客转wordpress/如何优化关键词的方法
  • 爱搜索中级网站建设/做网站的公司有哪些
  • 南京专业建站/推广网站的公司
  • 网站建设 参照 标准规范/什么是网络销售
  • 乌鲁木齐市做平台网站/百度推广咨询
  • 重庆网站建设 优化/怎么引流到微信呢
  • 泉州哪家网站建设公司好/百度百度一下你就知道
  • 新加坡网站开发公司/微信营销软件排行榜