package com.ycsoft.daos.jdbc;
import java.sql.Connection;
import java.sql.PreparedStatement;
/**
* SQL命令执行器, 为了完成没有使用Spring的情况下去完成一些查询,
* 如系统参数的初始化,等功能。
*
* 可以使用改类提供的函数。这里封装了大量的CRUD函数
*
* @author hh
* @date Feb 3, 2010 3:49:17 PM
*/
public class AbstractSqlExecutor {
/**
* 默认构造函数
*/
public AbstractSqlExecutor() {}
/**
* 执行更新的核心函数 ,采用默认的参数设置(? == 代替的参数)
* @param conn
* @param sql 命令
* @return
* @throws Exception
*/
public int executeUpdate(Connection conn, String sql, Object ...params)throws Exception{
return executeUpdate(conn, new DefaultParameterSetter(), sql, params);
}
/**
* 执行更新的核心函数
* @param conn 连接对象
* @param setter 参数设置对象
* @param sql 命令
* @param params 参数
* @return 返回所影响的行数
* @throws Exception
*/
public int executeUpdate(Connection conn, ParameterSetter setter, String sql, Object params)throws Exception{
PreparedStatement ps = conn.prepareStatement( sql );
setter.setParameters(ps, params);
return ps.executeUpdate();
}
}