{
public Hashtable<K,V> hash=new Hashtable<K,V>();
public void put(K k,V v)
{
hash.put(k, v);
}
public V get(K k)
{
return hash.get(k);
}
public static void main(String[] args) {
TestGen0<String,String> t=new TestGen0<String,String>();
t.put("hello", "test");
System.out.println(t.get("hello"));
TestGen0<Integer,Integer> tt=new TestGen0<Integer,Integer>();
tt.put(100, 123);
System.out.println(tt.get(100));
}
}
正确输出:
test
123
具体如下:
import java.io.Serializable;
import java.util.List;
//T:表示返回的实体,P表示输入的参数
public interface A<T extends Serializable,P extends Serializable>
{
public List<T> findAll(P param,String statementName);
public void insert(P param,String statementName);
public void update(P param,String statementName);
public void delete(P param,String statementName);
}
也可简单定义为public interface A<T,P>,只是上面的定义加了范围的限制。
B类:
--数据库操作模板实现类,在此类中实现了对DB所增删改查。具体的继承类只须继承它,参数,返回值即会根据用
户继承时的定义而自动适配。
import java.io.Serializable;
import java.util.List;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
public class B<T extends Serializable,P extends Serializable>
extends SqlMapClientDaoSupport implements A<T,P>{
public List<T> findAll(P param,String statementName)
{
return (List<T>)this.getSqlMapClientTemplate().queryForList(statementName,param);
}
public void insert(P param,String statementName)
{
this.getSqlMapClientTemplate().insert(statementName, param);
}
public void update(P param,String statementName)
{
}
public void delete(P param,String statementName){}
}
实现类一:
import java.util.HashMap;
import com.coship.dhm.dm.admin.entity.Device;
public class CDao extends B<Device,HashMap>{
}
实现类二:
public class CDao2 extends B<Admin,String>{
}
应用一:
public class DAction {
private CDao cdao;
private HashMap map;
public void D()
{
List<Device> tt=this.cdao.findAll(dev, "dev.findAll");
}
}
应用二:
public class DAction {
private CDao2 cdao2;
private String str;
public void D()
{
List<Admin> tt=this.cdao2.findAll(str, "dev.findAll");
}
}