java web开发数据库,该如何解决

java web开发数据库
我以前写C#代码  操作数据库有一个执行SQL语句的方法

        public static int ExcecuteNonQurery(string sql,params SqlParameter[] parameters)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;
                    cmd.Parameters.AddRange(parameters);
                    return cmd.ExecuteNonQuery();
                }

            }
        }


我想问一下 Java web开发中 有没有一个这样 可以执行多种sql语句的方法参数个数是可以改变的  
这个:
Statement smt 
smt.execute(sql, columnNames) 是不是跟我写的C#是一样的
谢谢
------解决思路----------------------
有的呀,给你一段我的代码
context = new InitialContext();
DataSource dataSource =(DataSource) context.lookup("java:comp/env/jdbc/score");
Connection dbConnection =dataSource.getConnection();
String sql ="insert into score(username,course,score) values(?,?,?)";
PreparedStatement ps= dbConnection.prepareStatement(sql);
ps.setString(1, username);
ps.setString(2, course);
ps.setString(3, score);
ps.executeUpdate();
我是用数据源的,你可以用纯jdbc写,两种方式只是获得 connection的方式不一样,后面的用法都是一样的
------解决思路----------------------
参考这段代码

 public int executeUpdate(String sql, Object... params) throws SQLException {
        int ret = 0;
        PreparedStatement pstmt = null;
        try {
            pstmt = this.conn.prepareStatement(sql);
            for (int i = 0, len = params.length; i < len; i++) {
                if (params[i] == null 
------解决思路----------------------
 params[i].toString().length() == 0) {
                    pstmt.setNull(i + 1, java.sql.Types.VARCHAR);
                } else {
                    pstmt.setObject(i + 1, params[i]);
                }
            }
            ret = executeUpdate(pstmt);
            this.log.debug(this.getPreparedSQL(sql, params));
        } finally {
            this.closePstmt(pstmt);
        }
        return ret;
    }