当前位置: 软件>java软件
JDBC封装包 JdbcQuery
本文导语: JdbcQuery是一个对JDBC操作进行封装,使得在JAVA中执行复杂的SQL语句和存储过程变得像hibernate一样的简单,并能方便的将结果集以List、Map、Array的形式返回。 1. 调用存储过程示例: String strSql = "{call callcenter_pack.Get_TaskCaseCount(...
JdbcQuery是一个对JDBC操作进行封装,使得在JAVA中执行复杂的SQL语句和存储过程变得像hibernate一样的简单,并能方便的将结果集以List、Map、Array的形式返回。
1. 调用存储过程示例:String strSql = "{call callcenter_pack.Get_TaskCaseCount(:P_UserID,:P_ErrorInfo,:P_OutData)}";
JdbcQuery query = JdbcUtils.createNativeQuery(super.getConnection(), strSql);
query.setParameter("P_UserID", 5);
query.setOutParameter("P_ErrorInfo", OracleTypes.VARCHAR);
query.setOutParameter("P_OutData", OracleTypes.CURSOR);
query.excuteProcedure();
//params: P_UserID、 P_ErrorInfo、 P_OutData.
//P_ErrorInfo 是一个输出参数, 用于返回存储过程中的错误信息
//P_OutData 是一个游标
//可以方便的获取一个List类型的结果
String strError = query.getString("P_ErrorInfo");
List dataList = query.getResultList("P_OutData",TaskBarCounter.class);
query.closeCallableStatement();
2. 调用SQL语句示例:
public Result findCollect(final QueryMap qMap) {
final StringBuilder sb = new StringBuilder();
StringBuilder sbWhere = new StringBuilder();
// 汇总查询所需的列
sb.append("select c.store_id, s.name,SUM(c.total_recharge) as total_recharge,");
sb.append("SUM(c.total_payment) as total_payment,");
sb.append("SUM(c.total_reversal) as total_reversal ");
// 查询条件
sbWhere.append(" from collect c inner join store s on c.store_id = s.id ");
sbWhere.append(" where c.created >= :start ");
sbWhere.append(" and c.created