public class DaoSupport<T> implements DaoBase<T> {
private JdbcTemplate jdbcTemplate;
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
public DaoSupport() {
ParameterizedType pt = (ParameterizedType)this.getClass().getGenericSuperclass();
clazz = (Class)pt.getActualTypeArguments()[0];
}
protected Class<T> clazz;
public T getPerson(Integer id) { return jdbcTemplate.query("select * from person", new Object[]{},new RowMapper() {
//这里是个回调
@Override
public Object mapRow(ResultSet arg0, int arg1) throws SQLException {
// TODO Auto-generated method stub
return null;
}
});
} } 请问这里面的泛型怎么实现 new RowMapper() {
@Override
public Object mapRow(ResultSet arg0, int arg1) throws SQLException {
// TODO Auto-generated method stub
return null;
}知道的帮帮忙啦
解决方案 »
- 求一个简单的正则表达式
- action调用webservice
- 如何将字符串中的一些字段合并成map
- 手机java
- 非常不解!!难道不同的Action中不能维持同一个会话吗???
- web service 调用dll的问题
- java调用存储过程结果集问题 (关系到jdk sql 的实现问题,如果分数不够可以再开帖加分)
- Hibernate不能单独查询非主键字段
- 如何将Form内变量的值赋给JSP页面中的变量?
- SOS SOS .......急急急。。。。。。。。。为什么Jsp 访问数据库出错??
- java 的DES算法非调包实现
- eclipse中servlet拿不到session但手动启动tomcat可以拿到
public Object mapRow(ResultSet rs, int paramInt) throws SQLException {
Object object = null;
object = refectSetValue(rs, object);
return object;
// TongDto tongDto = new TongDto();
// tongDto.setId(rs.getInt(1));
// return tongDto;
} } /**
* 反射属性 回调赋值
*
* @param rs
* @param object
* @return
*/
private Object refectSetValue(ResultSet rs, Object object) {
try {
object = EntityClass.newInstance();
} catch (Exception e) {
e.printStackTrace();
}
Field[] fields = EntityClass.getDeclaredFields();
try {
for (int i = 0; i < fields.length; i++) {
fields[i].setAccessible(true); if (fields[i].getType() == String.class) {
fields[i].set(object, rs.getString(i + 1));
} else if (fields[i].getType() == int.class) {
fields[i].set(object, rs.getInt(i + 1));
} else if (fields[i].getType() == Integer.class) {
fields[i].set(object, rs.getInt(i + 1));
}
}
} catch (Exception e) {
e.printStackTrace();
}
return object;
}
想出来了
public SysUsers getSysUsersById(SysUsers sysUsers) {
SysUsers object = null;
String sql = "select * from SYS_USERS model where model.id = :id ";
SqlParameterSource ps = new BeanPropertySqlParameterSource(sysUsers);
object = simpleJdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<SysUsers>(SysUsers.class), ps);
return object;
}非常好用!希望对你有帮助