后台数据库设计以及跨库总结

在平时做项目当中,我们经常会碰到分库的情况,但是分库也得分出技巧,特别是有些类似的库不能合并成一个的时候,

那么我们的命名相当重要,这边我的理解可以是这样前面是部件名称,后面是序号,例如:th_part_001

                          

后台数据库设计的时候需要遵循几条原则:

1.数据库命名原则

2.用途不同的数据库采用不同的连接

3.特别是跨库的时候区分开这种问题,所以在数据库中必须有一个字段作为标识,用来标识哪个数据库,比如th_part_001

中的001,比如一个用户登录系统,相当于一个sa的身份,那么他应该有权限看到所有用户,但是呢,这些用户分布在不同

的库里,所以要在每个用户上分别增加一个标识符号,比如datapartid,用来标识属于哪一个库,这样方便在分库查询的时候

灵活应用。

 


public class DataSources {

 public static final String DS_USER = "c_user";
 public static final String DS_SC_SYS = "sc_sys";
 public static final String DS_SC_SCH = "sc_sch_";

 public static final String DS_CMS = "cms_";
 public static final String DS_CJ = "cj_";
 public static final String DS_CLASS = "class_";
 public static final String DS_TH = "th_part_";


 public static DBConnection thConn(String datapartID) throws EXPSQLException {
  return DBConnectionFactory.createDBConnection(DS_TH + datapartID);
 }
 
 public static DBConnection sysConn() throws EXPSQLException {
  return DBConnectionFactory.createDBConnection(DS_SC_SYS);
 }
 
 public static DBConnection userConn() throws EXPSQLException {
  return DBConnectionFactory.createDBConnection(DS_USER);
 }
 
 public static DBConnection schConn(String datapartID)
   throws EXPSQLException {
  return DBConnectionFactory.createDBConnection(DS_SC_SCH + datapartID);
 }

 public static DBConnection cmsConn(String datapartID)
   throws EXPSQLException {
  return DBConnectionFactory.createDBConnection(DS_CMS + datapartID);
 }

 public static DBConnection cjConn(String datapartID) throws EXPSQLException {
  return DBConnectionFactory.createDBConnection(DS_CJ + datapartID);
 }

 public static DBConnection classConn(String datapartID)
   throws EXPSQLException {
  return DBConnectionFactory.createDBConnection(DS_CLASS + datapartID);
 }

 public static DBConnection dbConn(String ds) throws EXPSQLException {
  return DBConnectionFactory.createDBConnection(ds);
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值