java web开发数据库,该如何解决
java web开发数据库
我以前写C#代码 操作数据库有一个执行SQL语句的方法
我想问一下 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的方式不一样,后面的用法都是一样的
------解决思路----------------------
参考这段代码
我以前写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;
}