亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Asiainfo數據庫分表的操作配置簡介以及感受一二

標簽:
Java Oracle
操作配置

说明:创建一个简单的表mScheme.ly_student用来测试

create table mScheme.ly_student(
student_id varchar2(10) primary key,--学号pk
student_name varchar(20)  not null,--姓名
graduation_date date not null --用毕业时间来进行分表
)
  1. 创建分表
    复制这个表,表空间别变,表名根据分表依据来命名
    如:一个表按地市、年月分表,中间用下划线来分隔的表达式:
    T[TABLE]_C[REGION_ID]_C[DONE_DATE]
    本例用毕业日期的'年'进行分表,表名为
    图片描述
    这里只有两个分表。

  2. 创建分表规则
    亚信数据库中已经为分表创建了两个规则表cfg_table_split和cfg_table_split_mapping,只需要对照其他条数据,将ly_student表配置到两个规则表中。具体如图:图片描述cfg_table_split_mapping图片描述
    注意cfg_table_split.table_name_expr的填写,和分表命名规则是一样的。
    cfg_table_split_mapping.mapping_id随意填写,column_name写分表依据的字段。column_convert_class转换类,是在后台appframe中实现的,只是年就用YYYYFunctionImpl,如果年月就YYYYMMFunctionImpl,如果其他请参照该表的其他相似字段填写.

  3. 创建该表的历史表
    LY_STUDENT_HIS,修改、删除信息会记录在历史表中.

  4. 创建原表SEQUENCE和历史表SEQUENCE

    create sequence LY_STUDENT$SEQ minvalue 1  maxvalue 999999999999  start with 100000000001  increment by 1  cache 200;
    
  5. 将序列及历史表关系配置到base. cfg_id_generator表中
    图片描述
    至此,数据库相关配置已经都完成;
  6. 修改bo文件
    当然你也可以重新生成,但是分表以后bo文件只对一行进行了修改,表名多了{}

    <mapingenty type="table">{LY_STUDENT}</mapingenty>
  7. 修改cache.xml文件
    项目中ctrl+shift+R搜索该文件,打开后ctrl+F搜索"分表",将这3项都改成

    source="db"

    因为刚配置好分表,缓存中还没有数据,所以要从数据库db中找数据。


感受一二

因为亚信这个框架很老了,用的人也不多,网上基本没什么资料,所以配置起来没有别人的指导很难完成。
配置完成后按我的理解分表流程是这样的:
首先在bo中加了{}表示该表进行分表管理,所以Java后台对数据库此表进行操作时,首先查找分表规则,根据分表依据字段和转化函数,回到Java后台进行相关转换,得到相应的表名进行增删改查。
不知道这个理解是否是对的,但是这样一个分表操作的思路以后可以自己去实现一下。

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消