JDBC数据库连接

我需要把MySql数据导入到Oracle中,但是我没有找到好的办法。思前想后还是自己些个方法!
 这就面临个小问题,因为以前都是用Hibernate进行数据库连接,用习惯了ssh框架开发。回头再用
 JDBC感觉陌生了。以下是我的总结:
 1.首先 导驱动程序(mysql,oracle);
 2.方法实现类:
   //写了三个方法,
   getOracleConnection()//
   getMyConnection()//
   add()//
   public static Connection conMY=null;//MySql
   public static Connection conOr=null;//Oracle

   private static Connection getOracleConnection(){
     Connection conn=null;
     String driver = "oracle.jdbc.driver.OracleDriver";
  String url = "jdbc:oracle:thin:@localhost:1521:数据库名";
  String user = "用户名";
  String password = "密码";
  try {
   Class.forName(driver);
    conOr = DriverManager.getConnection(url, user, password);
   if (!conn.isClosed())
    System.out.println("Oracle数据库连接成功!");
  
  } catch (ClassNotFoundException e) {
   System.out.println("找不到驱动程序");
   e.printStackTrace();
  } catch (SQLException e) {
  e.printStackTrace();
  } 
  return conn;
    }
    private static Connection getMyConnection(){
     Connection conn=null;
     String driver = "org.gjt.mm.mysql.Driver";
  String url = "jdbc:mysql://localhost/数据库名";
  String user = "用户名";
  String password = "密码";
  try {
   Class.forName(driver);
    conn = DriverManager.getConnection(url, user, password);
   if (!conn.isClosed())
    System.out.println("MySql数据库连接成功!");
  
  } catch (ClassNotFoundException e) {
   System.out.println("找不到驱动程序");
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  } 
  return conn;
    }
    private static void add()throws Exception{
  PreparedStatement stmt = null;
  PreparedStatement pst = null;
  String sql="insert into ASK_FILTRATION(ID,INFO_CONTENT,ADD_TIME) values(ASK_FILTRATION_SEQ.nextval,?,?)";
  String sql1="select keycont from keycollect where keytype = 0 ";
  try{
    pst= conMY.prepareStatement(sql1);
    ResultSet rs =pst.executeQuery();
    while(rs.next()){
     stmt = con.prepareStatement(sql);
     stmt.setString(1, rs.getString("keycont"));
     stmt.setString(2, "2008-08-08");
     String s=rs.getString("keycont");
     stmt.executeQuery(); 
    }
   
  }catch(SQLException e) {
   e.printStackTrace();
  }
 }
 但是添加的时候出现问题了,Mysql人家的主键Id是自动增长型的,而且oracle不支持自动增长型。怎么办?我们需要的Mysql表中个别字段的值,
    而不是全部这时候就想到了序列?序列好建,关键怎么用?
  首先建序列:
  -- Create sequence
   create sequence ASK_FILTRATION_SEQ
   minvalue 1
   maxvalue 999999999999999999999999999
   start with 481
   increment by 1
   cache 20;
  其次写添加sql语句 
  insert into ASK_FILTRATION(ID,INFO_CONTENT,ADD_TIME) values(ASK_FILTRATION_SEQ.nextval,?,?)//ASK_FILTRATION_SEQ.nextval序列名

  看后就感觉简单吧!你看后的心情和我做出来的心情一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值