62,614
社区成员
发帖
与我相关
我的任务
分享
public interface IActionUtils
{
bool Execute(string sqlStr);
int[] Execute(string[] sqlArr);
DataTable Query(string sqlStr);
DataTable Query(string table, string fields, string condition, Pager pager);
DataTable QueryPage(string table, string fields, string condition, Pager pager, ref int totalRecords);
T QueryEntity<T>(string sqlStr) where T : class, new();
IList<T> QueryEntities<T>(string sqlStr) where T : class, new();
IList<T> QueryEntities<T>(string table, string fields, string condition, Pager pager) where T : class, new();
bool Add(object obj);
bool Update(object obj);
IList<T> QueryEntities<T>(string table, string fields, string condition, Pager pager, ref int totalRecords) where T : class, new();
}
public interface IActionUtils {
Boolean Execute(String sql);
ResultSet Qurey(String sql);
<T extends Object> T QueryBean(String sql);
<T extends Object> List<T> QueryBeans(String sql);
}
public class OracleActionUtils implements IActionUtils {
@Override
public Boolean Execute(String sql) {
// TODO Auto-generated method stub
return null;
}
@Override
public ResultSet Qurey(String sql) {
// TODO Auto-generated method stub
return null;
}
@Override
public <T> T QueryBean(String sql) {
// 在这里有无办法构造出一个T的实例
//像.NET的 T t= new T();,若是要返回一个空的T实例,要如何new Instance出来?
return null;
}
@Override
public <T> List<T> QueryBeans(String sql) {
// TODO Auto-generated method stub
return null;
}
}
public <T extends Object> T get(){
return (T)new StringBuffer("test");
}
public <T> List<T> getList(){
return new ArrayList<T>();
}
Object QueryBean(String classPath){
Object obj = null;
try {
Class clazz = Class.forName(classPath);
obj = clazz.newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return obj;
}
得到的Object对象,在调用处判断:obj instance of XXX,然后强转。