您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

JDBC 连接Oracle

2024/11/11 9:04:57发布25次查看
工作中,我们遇到的操作数据库代码都是封装起来的,今天我们就来看看,最基本的利用jdbc来操作数据库. jdbc连接数据库主要有三个步骤: 第一步:加载数据库驱动。通常我们使用class.forname静态方法来加载驱动。 第二步:通过drivermanager获取数据库连接.
工作中,我们遇到的操作数据库代码都是封装起来的,今天我们就来看看,最基本的利用jdbc来操作数据库.
jdbc连接数据库主要有三个步骤:
 第一步:加载数据库驱动。通常我们使用class.forname静态方法来加载驱动。
第二步:通过drivermanager获取数据库连接.
第三步:通过connection 创建statement对象,connection创建statement对象方法有三个:
createstatement():创建基本的statement对象preparestatement(string sql):根据传入的sql语句创建预编译的statement对象。preparecall(string sql):根据传入的sql语句创建callablestatement对象第四步:使用statement执行sql语句。所有statemet对象都有如下三个方法来执行sql语句:
execute:可以执行任何sql语句,但比较麻烦.executeupate:主要用于执行dml和ddl语句。执行dml返回受sql语句影响的行数,执行ddl返回0。executequery:只能执行查询语句,执行后返回代表查询结果的resultset对象。第五步:操作结果集。如果执行的sql语句是查询语句,执行结果将返回一个resultset对象,该对象里保存了sql语句查询的结果。程序可以通过操作该resultset来取出查询结果。resultset对象主要提供了两类方法:
next、previous、first、last、beforefirst、afterlast、absolute等移动记录指针的方法。getxxx获取记录指针指向行,特定列的值。该方法既可以使用列索引作为参数,也可以使用列名作为参数。使用列索引作为参数性能更好,使用列名作为参数,可读性更好!下面是一段代码,基本上阐述了上面所说的东东:
package jdbc;import java.sql.connection;import java.sql.drivermanager;import java.sql.resultset;import java.sql.sqlexception;import java.sql.statement;public class connoracle { public static void main(string[] args) { //首先定义下连接数据的url、用户名、密码 string url=jdbc:oracle:thin:@127.0.0.1:1521:orcl; string user=scott; string password=yulei123; try { //1.加载驱动,使用了反射的知识 class.forname(oracle.jdbc.driver.oracledriver); /* * 使用drivermanager获取数据库连接 * 其中返回的connection就代表了java程序和数据库的连接 * 不同数据库的url写法需要查看驱动文档知道,用户名、密码由dba分配 */ connection conn=drivermanager.getconnection(url, user, password); //使用connection来创建一个statement对象 statement stmt=conn.createstatement(); //执行sql语句 /* * statement有三种执行sql语句的方法 * 1、execute可执行任何sql语句 --返回一个boolean值 * 如果执行后,第一个结果是resultset,则返回true,否则返回false * 2、executequery 执行select 语句 --返回查询到的结果集 * 3、executeupdate用于执行dml语句。---返回一个整数,代表被sql语句影响的记录数 */ string sql=select e.* from emp e; resultset rs=stmt.executequery(sql); //resultset有系列的getxxx(索引名||列名),用于获取记录指针指向行、特定列的值 //不断的使用next将记录指针下移一行,如果依然指向有效行,则指针指向有效行的记录 while(rs.next()){ //使用索引 system.out.println(员工号:+rs.getint(1)+\t员工姓名:+rs.getstring(2)); //使用列名 system.out.println(员工号:+rs.getint(empno)); } } catch (classnotfoundexception e) { e.printstacktrace(); } catch (sqlexception e) { e.printstacktrace(); } }}
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product