原生jdbc连接Oracle数据库

it2022-05-05  114

接下来看代码块: 用的是Java.sql的包,不要用错包了 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class OracleJdbc { public static void main(String[] args) { try { // 1、引用架包 Class.forName("oracle.jdbc.driver.OracleDriver"); // 2、创建数据库连接使用 //双引号那个一般都是比较固定的,只是后面的localhost:3306/demo,分别是本地以及端口号/数据库名称 String url = "jdbc:oracle:thin:@localhost:1521:ORCL"; String user = "scott";//登录的账号 String password = "tiger";//登录的密码 //上面三个String变量其实都是可以直接写到下面来的 Connection stat = DriverManager.getConnection(url, user, password); //使用SQL语句操作数据库 // 方法1 /* * String sql ="INSERT INTO demo(id,NAME,PASSWORD) VALUE (?,'王五',1234)"; * PreparedStatement per = stat.prepareStatement(sql); * per.execute(sql); */ // 方法二(占位符) String sql = "select * from EMPLOYEES where EMPLOYEE_ID>?"; PreparedStatement per = stat.prepareStatement(sql); /* * per.setString(1, "赵六");//参数索引是在1开始计算,而不是从0开始计算 * per.setInt(2,123); */ // 时间 // per.setDate(3, new java.sql.date(System.currentTimeMillis())); // 注意传时间值 // 直接可以使用Object代替掉任何类型的参数,但是中文还是要用引号引起来的 //可以使用Object处理参数。 per.setObject(1, 180); // per.setObject(3, new java.sql.date(System.currentTimeMillis())); System.out.println(per); //per.execute();运行语句,返回是否有结果集。 //per.executeQuery();运行select语句,返回ResultSet结果集。 //使用参数输出一下所操纵的行数。 ResultSet rs= per.executeQuery();//运行insert/update/delete操作,返回更新的行数 while(rs.next()){ System.out.println("EMPLOYEE_ID=="+rs.getObject(1)+";FIRST_NAME=="+rs.getObject(2)); } } catch (ClassNotFoundException e) { //抛出异常 e.printStackTrace(); } catch (SQLException e) { //抛出异常 e.printStackTrace(); } } }

 


最新回复(0)