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

来源:互联网 发布:sql中references 编辑:程序博客网 时间:2024/05/02 00:56

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

那么我们的命名相当重要,这边我的理解可以是这样前面是部件名称,后面是序号,例如: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);
 }
}

原创粉丝点击