接下来看代码块:
用的是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();
}
}
}