多线程下谨慎对待基类(抽象类)中的成员变量
有这么个需求:
做开发一套在oracle和mysql中做业务数据复制,其中具体的业务还没确定,目前需要开发一套
框架,需要在业务确定后,只需做少了开发即可实现,我使用了ibatis+spring
,以后扩展时,只需增加ibatis的配置文件即可,而配置文件中的每个ID都是由以下规则生成:
业务识别码+新增/删除等统一的后缀。
如下结构:
1、DAO部分
public abstract class Base{ private String name; private String code; public String getName(){return name;} public String getCode(){return code;} public void setName(String name){this.name=name;} public void setCode(String code){this.code = code;} public String getInsertSqlName() { return this.code+"insert"; } public abstract insert(...); public abstract query(...);}public class ADao extends Base{ public map insert(...) { String sqlName = this.getInsertSqlName(); //用ibatis操作数据库 } public map query(...) { xxxxx }}public class BDao extends Base{ public map insert(...) { String sqlName = this.getInsertSqlName(); //用ibatis操作数据库 } public map query(...) { xxxxx }}public class CDao extends Base{ public map insert(...) { String sqlName = this.getInsertSqlName(); //用ibatis操作数据库 } public map query(...) { xxxxx }}String name=从数据库读取 String code = 从数据库读取 Base dao = ServFactory.getDao(name,code); dao.insert(xxx); dao.query(xxx);