您的位置:首页 > 编程语言 > Java开发

Spring中NamedParameterJdbcDaoSupport项目案例记录

2018-01-23 09:46 393 查看
import java.util.List;
import java.util.Map;

import javax.sql.DataSource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcDaoSupport;
import org.springframework.stereotype.Repository;

@Repository
public class DaoUtils extends NamedParameterJdbcDaoSupport {

@Autowired
public void init(DataSource dataSource) {
super.setDataSource(dataSource);
}

/*
* This method is use for query Object
*
* @Param SQL String SQL language
*
* @Param paramMap this is the Naming query @param
*
* @param entity this is the Type of the return object
*/
public <T> T queryForObject(String sql, Map<String, Object> paramMap,
Class<T> entity) {
return this.getNamedParameterJdbcTemplate().queryForObject(sql,
paramMap, new BeanPropertyRowMapper<T>(entity));
}

/*
* This method is use for query Object
*
* @Param SQL String SQL language
*
* @Param object this is the Naming query @param
*
* @param entity this is the Type of the return object
*/
public <T> T queryForObject(String sql, Object obj, Class<T> entity) {

return this.getNamedParameterJdbcTemplate().queryForObject(sql,
new BeanPropertySqlParameterSource(obj), entity);
}

/*
* This method is use for query Object Collection
*
* @Param SQL String SQL language
*
* @Param paramMap this is the Naming query @param
*
* @param entity this is the Type of the return object
*/
public <T> List<T> queryForList(String sql, Map<String, Object> paramMap,
Class<T> entity) {
return this.getNamedParameterJdbcTemplate().query(sql, paramMap,
new BeanPropertyRowMapper<T>(entity));

}

/*
* This method is use for query BaseType object Collection
*
* @Param SQL String SQL language
*
* @Param paramMap this is the Naming query @param
*
* @param entity this is the Type of the return object
*/
public <T> List<T> queryForBeseList(String sql,
Map<String, Object> paramMap, Class<T> entity) {
return this.getNamedParameterJdbcTemplate().queryForList(sql, paramMap,
entity);

}

/*
* This method is use for query Map Collection
*
* @Param SQL String SQL language
*
* @Param paramMap this is the Naming query @param
*/
public Map<String, Object> queryForMap(String sql,
Map<String, Object> paramMap) {
return this.getNamedParameterJdbcTemplate().queryForMap(sql, paramMap);

}

/*
* This method is use for query Map Collection
*
* @Param SQL String SQL language
*
* @Param entity this is the Naming query @param
*/
public Map<String, Object> queryForMap(String sql, Object entity) {
return this.getNamedParameterJdbcTemplate().queryForMap(sql,
new BeanPropertySqlParameterSource(entity));

}

/*
* This method is use for insert,update,delete Object
*
* @Param SQL String SQL language
*
* @param entity this is Naming query @param
*/
public void updateObject(String sql, Object entity) {
this.getNamedParameterJdbcTemplate().update(sql,
new BeanPropertySqlParameterSource(entity));

}

/*
* This method is use for insert,update,delete Object
*
* @Param SQL String SQL language
*
* @param paramMap this is Naming query @param
*/
public void updateObject(String sql, Map<String, Object> paramMap) {
this.getNamedParameterJdbcTemplate().update(sql, paramMap);
}

/*
* This method is use for batch insert,update,delete Object
*
* @Param SQL String SQL language
*
* @param paramMap this is Naming query @param
*/
public void batchUpdate(String sql, Map<String, Object>[] paramMap) {
this.getNamedParameterJdbcTemplate().batchUpdate(sql, paramMap);
}

/*
* This method is use for batch insert,update,delete Object
*
* @Param SQL String SQL language
*
* @param paramMap this is Naming query @param
*/
public void batchUpdate(String sql, List<Object> entity) {
BeanPropertySqlParameterSource[] batchArgs = entity
.toArray(new BeanPropertySqlParameterSource[entity.size()]);
this.getNamedParameterJdbcTemplate().batchUpdate(sql, batchArgs);
}

/*
* This method is use for query INT
*
* @Param SQL String SQL language
*
* @param paramMap this is Naming query @param
*/
public int queryForInt(String sql, Map<String, Object> paramMap) {
return this.getNamedParameterJdbcTemplate().queryForInt(sql, paramMap);
}

/*
* This method is use for query INT
*
* @Param SQL String SQL language
*
* @param entity this is Naming query @param
*/
public int queryForInt(String sql, Object entity) {
return this.getNamedParameterJdbcTemplate().queryForInt(sql,
new BeanPropertySqlParameterSource(entity));
}

/*
* This method is use for query Long
*
* @Param SQL String SQL language
*
* @param paramMap this is Naming query @param
*/
public Long queryForLong(String sql, Map<String, Object> paramMap) {
return this.getNamedParameterJdbcTemplate().queryForLong(sql, paramMap);

}

/*
* This method is use for query Long
*
* @Param SQL String SQL language
*
* @param entity this is Naming query @param
*/
public Long queryForLong(String sql, Object entity) {
return this.getNamedParameterJdbcTemplate().queryForLong(sql,
new BeanPropertySqlParameterSource(entity));

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: