JDBC用PreparedStatement在Oracle中插入日期
2013-03-12 14:39
274 查看
create table STUDENT ( ID NUMBER(6) not null, NAME NVARCHAR2(20), AGE NUMBER(3), SEX NUMBER(1), BIRTHDAY DATE )
public class DBUtil { private final String DRIVER="oracle.jdbc.driver.OracleDriver"; private final String URL="jdbc:oracle:thin:@localhost:1521:orcl"; private final String USERNAME="scott"; private final String USERPWD="tiger"; Connection conn=null; PreparedStatement pst=null; ResultSet rs=null; public Connection getConnection() throws SQLException, ClassNotFoundException{ if(conn==null){ Class.forName(DRIVER); conn=DriverManager.getConnection(URL,USERNAME,USERPWD); } return conn; } public int executeUpdate(String sql,Object[]params) throws SQLException, ClassNotFoundException{ getConnection(); pst=conn.prepareStatement(sql); if(params!=null&¶ms.length!=0){ for (int i = 0; i < params.length; i++) { pst.setObject(i+1, params[i]); } } int result=pst.executeUpdate(); return result; } }
public void save(Student stu){ String sql="insert into student(id,name,age,sex,birthday) values(sq_student_id.nextval,?,?,?,?)"; Object []params={stu.getName(),stu.getAge(),stu.getSex(),stu.getBirthday()}; DBUtil dbUtil=new DBUtil(); try { dbUtil.executeUpdate(sql, params); } catch (SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); }finally{ dbUtil.closeAll(); } }
Scanner input=new Scanner(System.in); System.out.print("请输入用户名:"); String name=input.nextLine(); System.out.print("请输入年龄:"); int age=input.nextInt(); System.out.print("请输入性别(1:男,0:女):"); int sex=input.nextInt(); System.out.print("请输入出生日期(格式:xxxx-xx-xx):"); input.nextLine(); String birthdayStr=input.nextLine(); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Date birthday=null; Student stu=null; try { birthday=sdf.parse(birthdayStr); stu=new Student(name,age,sex,new java.sql.Date(birthday.getTime())); } catch (ParseException e) { stu=new Student(name,age,sex); } StudentDao stuDao=new StudentDao(); //保存 stuDao.save(stu);
如果使用Statement对象,如下:
String sql="insert into student(id,name,age,sex,birthday) values(sq_student_id.nextval,'"
+stu.getName()+"',"+stu.getAge()+","+stu.getSex()+",To_date('"+stu.getBirthday()+"','yyyy-mm-dd'))";
相关文章推荐
- oracle中插入日期
- JDBC获取oracle日期类型
- 如何向 Oracle 表中的 Date 字段插入日期及时间
- java向ORACLE插入日期时间
- oracle日期的插入操作
- 向oracle 和mysql 插入当前日期
- Oracle中插入日期数据
- oracle获得日期与向oracle表中插入Date字符串原理解析
- Oracle date 插入显示公元前日期
- 用PreparedStatement在Oracle中插入日期
- Oracle插入日期问题
- ORACLE插入日期数据
- oracle sql 语句如何插入全年日期?
- oracle插入日期与时间
- ORA-01855: AM/A.M. or PM/P.M. required问题排查与解析---向Oracle中插入日期数据时出现的问题
- Oracle插入日期数据常见的2个问题和解决方法
- java解析oracle日志,获取指定日期后的更新和插入数据
- mysql插入日期 vs oracle插入日期
- 用PreparedStatement在Oracle中插入日期