public class TRolesJdbcDao extends BaseJdbcDao implements ITRolesDao {
protected static class TRolesUpdate extends SqlUpdate {
protected TRolesUpdate(DataSource ds) {
super(ds, Sql.PUB_TROLES_UPDATE);
//参数类型设定
declareParameter(new SqlParameter(Types.VARCHAR));
declareParameter(new SqlParameter(Types.VARCHAR));
declareParameter(new SqlParameter(Types.CHAR));
declareParameter(new SqlParameter(Types.INTEGER));
declareParameter(new SqlParameter(Types.VARCHAR));
declareParameter(new SqlParameter(Types.VARCHAR));
}
}
sql .java 常量定义如下:
public static final String PUB_TROLES_UPDATE="UPDATE UPDATE PUB_TROLES SET ROLE_NAME=?,ROLE_ALIAS=?,IS_SYS=?,USERS_LIMIT=?,TEMPLATE_ID=? WHERE ROLE_ID=?";
由于写错了SQL语句,所有查询数据库会出错
但是当修改了sql.java后,把sql.class放到web应用里替换掉原来的类,错误依旧
只有把重新编译后的TRolesJdbcDao .java也重新拷贝才会生效
所有说明TRolesJdbcDao .java里面编译常量的时候是直接引用常量,而不是每次调用重新到sql.class里面取值
所以是不是说编译成功后,sql.class就相当于没用了???
发布后其实不需要该类了?
使用eclipse编译后是这个样子的,不知道是不是java规范里就是这样规定的
protected static class TRolesUpdate extends SqlUpdate {
protected TRolesUpdate(DataSource ds) {
super(ds, Sql.PUB_TROLES_UPDATE);
//参数类型设定
declareParameter(new SqlParameter(Types.VARCHAR));
declareParameter(new SqlParameter(Types.VARCHAR));
declareParameter(new SqlParameter(Types.CHAR));
declareParameter(new SqlParameter(Types.INTEGER));
declareParameter(new SqlParameter(Types.VARCHAR));
declareParameter(new SqlParameter(Types.VARCHAR));
}
}
sql .java 常量定义如下:
public static final String PUB_TROLES_UPDATE="UPDATE UPDATE PUB_TROLES SET ROLE_NAME=?,ROLE_ALIAS=?,IS_SYS=?,USERS_LIMIT=?,TEMPLATE_ID=? WHERE ROLE_ID=?";
由于写错了SQL语句,所有查询数据库会出错
但是当修改了sql.java后,把sql.class放到web应用里替换掉原来的类,错误依旧
只有把重新编译后的TRolesJdbcDao .java也重新拷贝才会生效
所有说明TRolesJdbcDao .java里面编译常量的时候是直接引用常量,而不是每次调用重新到sql.class里面取值
所以是不是说编译成功后,sql.class就相当于没用了???
发布后其实不需要该类了?
使用eclipse编译后是这个样子的,不知道是不是java规范里就是这样规定的