JDBC :?
?
// JDBC基础操作步骤 :?
? ? ? ? 1 加载驱动
? ? ? ? 2 获取链接对象
? ? ? ? 3 链接
? ? ? ? 4 传送数据,
数据库处理,接受数据结果集
? ? ? ? 5 处理结果集
? ? ? ? 6 关闭资源
?
//增 :?
? ??
? ? 1 加载驱动 三种方式
? ? ? ? ? ? // 第一种
? ? ? ? ? ? Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
? ? ? ? ? ? //第二种
? ? ? ? ? ? Class.forName("oracle.jdbc.driver.OracleDriver");
? ? ? ? ? ? //第三种
? ? ? ? ? ? new oracle.jdbc.driver.OracleDriver();
? ? ? ? ? ? //2 链接数据库
? ? ? ? ? ? Connection conn = DriverManager.getConnection("全路径","用户名","密码");
? ? ? ? ? ? Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "system", "root");
? ? 3 创建语句对象
? ? ? ? ? ? //3 创建语句对象
? ? ? ? ? ? Statement stmt = conn.createStatement();
? ? ? ? ? ? ResultSet rs = stmt.executeQuery("select * from
c##scott.emp");//需要查询的表
? ? 4 循环获取结果
? ? next();//返回值是boolean true/false ?是问下一位还有没有元素,如果有就返回true,否则返回false
? ? ? ? ? ? while (rs.next()) {//判断下一位还有没有值
? ? 5 在循环中吧数据类型转换 得到自己想要的数据类型(java对应的数据类型),可以随意转换,只要不丢失精度就行
? ? ? ? ? ? ? ? System.out.print(rs.getString("empno")+" ?");//rs.getIn("empno");也行,因为emono用的 number 类型
? ? ? ? ? ? ? ? System.out.print(rs.getString("ename")+" ?");
? ? ? ? ? ? ? ? System.out.println(rs.getString("job")+" ?");
? ? ? ? ? ? }
? ? 6 关闭资源
? ? close();//关闭资源
? ? ? ? ? ? rs.close();
? ? ? ? ? ? stmt.close();
? ? ? ? ? ? conn.close();
?
executeQuery :?
? ??
? ? ? ? executeQuery();//查询语句 ?返回值用ResultSet类型接收 获取之后是个数组,数组中每个元素都是表的一行的对象
? ? ? ? Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "system", "root");
? ? ? ? ? ? Statement stmt = conn.createStatement();//创建语句对象
? ? ? ? ? ? ResultSet rs = stmt.executeQuery("select * from c##scott.emp");//需要查询的表 ?需要执行的语句 ?返回值类型是ResultSet类型
?
next :?
?
? ? ? ? next();//返回值是boolean true/false ?是问下一位还有没有元素,如果有就返回true,否则返回false
? ? ? ? Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "system", "root");
? ? ? ? ? ? Statement stmt = conn.createStatement();//创建语句对象
? ? ? ? ? ? ResultSet rs = stmt.executeQuery("select * from c##scott.emp");// 需要查询的表 ?需要执行的语句 ?返回值类型是ResultSet类型 ?获取之后相当于是个数组 ?每个数组的元素都是一行的对象
? ? ? ? ? ? rs.next();//获取下一位元素(行)
?
getString :?
statement.executeUpdate(sql);
? ? ? ? getString();//获得字符串
?
executeUpdate :?
?
? ? ? ? executeUpdate(" ");//把字符串指令执行 ?添加insert into...
? ? ? ? 如 : String sql = "insert into c##scott.a_tab values(123,'xiaomei','beijing~')";
? ? ? ? statement.executeUpdate(sql);//就会把添加指令 在结果集中修改 ?只是结果集
?
getInt :?
?
? ? ? ? getInt();//获得整型值
?
executeUpdate :?
?
? ? ? ? executeUpdate();
? ? ? ? 把语句插入到指定的表中
? ? ? ? String sql = "insert into c##scott.a_tab values(123,'xiaomei','beijing~')";
? ? ? ? statement.executeUpdate(sql);
?
DriverManager_getConnection :?
?
? ? DriverManager.getConnection();//链接数据库 ?是Connection类型
? ? 如 : //Connection conn = DriverManager.getConnection(全路径,用户名,密码);
? ? ? ? Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "system", "root");
?
createStatement :?
?
? ? ? ? ? ? //没有参数的
? ? ? ? createStatement();//创建语句对象 用Connection类型调用 ?返回Statement类型接收
? ? ? ? 如 :?
? ? ? ? ? ? Statement stmt = conn.createStatement();
? ? ? ? ? ? //有参数的
? ? ? ? createStatement(int resultSetType,int resultSetConcurrency);
? ?