JAVA 用dbutils这个第三方jar 向oracle数据库插入date 类型数据的时候,要用什么类型替换掉占位符
@Testpublicvoidt2()throwsParseException{try{QueryRunnerrunner=newQueryRunner(JdbcUtil...
@Test
public void t2() throws ParseException
{
try{
QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
String sql = "insert into test (bir) values (?)";
Object params[] = {new java.util.Date()};
runner.update(sql,params);
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
用 java.util.Date() 。求解
用 java.util.Date() 不行。求解 展开
public void t2() throws ParseException
{
try{
QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
String sql = "insert into test (bir) values (?)";
Object params[] = {new java.util.Date()};
runner.update(sql,params);
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
用 java.util.Date() 。求解
用 java.util.Date() 不行。求解 展开
2个回答
展开全部
QueryRunner qr = new QueryRunner(DbUtils.getDataSource());
String sql = "insert into tbl_test(id,user_name,birthday) values(?,?,to_date(?,'yyyy-MM-dd'))";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Object[] params = new Object[]{3,"scott",format.format(new Date())};
try {
qr.update(sql, params);
} catch (SQLException e) {
e.printStackTrace();
}
和这类似,还是用oracle的函数吧。
另外参数可以传java.sql.date,这update方法内部用的是preparedStatement,这个对象插入时间的时候支持java.sql.date.试试吧。
String sql = "insert into tbl_test(id,user_name,birthday) values(?,?,to_date(?,'yyyy-MM-dd'))";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Object[] params = new Object[]{3,"scott",format.format(new Date())};
try {
qr.update(sql, params);
} catch (SQLException e) {
e.printStackTrace();
}
和这类似,还是用oracle的函数吧。
另外参数可以传java.sql.date,这update方法内部用的是preparedStatement,这个对象插入时间的时候支持java.sql.date.试试吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询