学习了一下Oracle,在网友的经验分享下,一天就通过JDBC访问到了,把经验和大家分享一下吧
Oracle:9i
系统:Windows XP
Oracle安装过程
推荐 Oracle 9i 的安装(图解)
http://zhangym-hollycrm-com.iteye.com/blog/592799
这是图片真实、过程详细
第一步:建立数据库
安装好了就要开始配置Oracle环境了
具体为何如此配置,目前还不太清楚,我也是按部就搬,欢迎大家多提建议
第二步:配置表空间及用户
1.创建testdata数据库
使用 Database Configuration Assistant 创建一个testdata数据库,具体方式不说了,如果不太熟悉可以去网上查点资料。
以下使用SQLPlus Worksheet的 system权限即可完成
2.创建用户表空间(位于testdata,名为myweb)
CREATE TABLESPACE myweb
LOGGING
DATAFILE ' D:\Oracle\oradata\testdata\myweb.DBF'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
3.创建用户,指定表空间和权限(myuser,123456)
新建用户
CREATE USER myuser IDENTIFIED BY 123456
指定表空间
DEFAULT TABLESPACE myweb
授予权限给myuse
GRANT
CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX,
CREATE ANY PROCEDURE,ALTER ANY TABLE, ALTER ANY PROCEDURE,
DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,
SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE,
DELETE ANY TABLE TO myuser;
grant dba to myuser;
当然,也可以授予更多权限给到myuse
现在开始,可以使用myuser连接SQLPlus Worksheet了
建议大家使用Normal,由于JDBC默认是以Normal方式连接,如果以sysdba方式连接建立的表结构可以查询不到,提示
ORA-00942: 表或视图不存在
第三步:建立表,并新增数据
CREATE TABLE testuser(id int,name varchar(50),password varchar(50),
chiname varchar(50),info varchar(100)) TABLESPACE myweb;
insert into testuser values(1,'hehe1','123456','hehe1','i am hehe1');
insert into testuser values(2,'hehe2','123456','hehe2','i am hehe2');
insert into testuser values(3,'hehe3','123456','hehe3','i am hehe3');
insert into testuser values(4,'hehe4','123456','hehe4','i am hehe4');
第四步:使用Java连接
需要下载Oracle的JDBC包
oracle 9i 的JDBC
http://download-llnw.oracle.com/otn/utilities_drivers/jdbc/9208/ojdbc14.jar
public class OraDao {
protected static String driver = "oracle.jdbc.driver.OracleDriver";
protected static String url = "jdbc:oracle:thin:@111.111.11.111:1521:testdata";
protected static String dbUser = "myuser";
protected static String dbPwd = "123456";
private Connection conn =null;
public Connection getDaoconn(){
if(conn==null){
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, dbUser, dbPwd);
} catch (Exception e) {
e.printStackTrace();
}
}
return conn;
}
public OraDao() {
}
/**
* @执行数据库查询操作
*/
public ResultSet executeQuery(OraDao dao,String sql) {
ResultSet result = null;
try {
result = dao.getDaoconn().createStatement().executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
return null;
}
//d.close_result(result);
//d.close_Dao(d);
return result;
}
/**
* @执行数据库更新操作
*/
public int executeUpdate(OraDao dao,String sql) {
int info = 0;
try {
info = dao.getDaoconn().createStatement().executeUpdate(sql);
} catch (SQLException e) {
System.out.println(e.getMessage());
return -1;
}
//dao.close_Dao(dao);
return info;
}
// 关闭数据库连接
public void close_conn(Connection conn) {
try {
if(conn!=null){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
//conn = null;
}
}
// 关闭数据库连接
public void close_result(ResultSet result) {
try {
if(result!=null){
result.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
//conn = null;
}
}
public void close_Dao(OraDao dao){
if(dao.getDaoconn()!=null){
dao.close_conn(dao.getDaoconn());
}
}
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(new OraDao());
String sql ="select * from testuser";
OraDao li_dao = new OraDao();
ResultSet result = li_dao.executeQuery(li_dao,sql);
try {
while(result.next()){
System.out.print(result.getString("id") + "--- ");
System.out.println(result.getString("name") + "--- ");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
li_dao.close_result(result);
li_dao.close_Dao(li_dao);
}
}
把Dao的实现贴出来,主要是希望大家能多给些建议,个人感觉这个Dao写得不好,但是不知道怎么改。
运行结果
model.OraDao@e48e1b
1--- hehe1---
2--- hehe2---
3--- hehe3---
4--- hehe4---
好了,JDBC连接Oracle成功,欢迎大家多提建议呢,特别是OraDao的获取连接以及效率吧,我也是刚学的。
分享到:
相关推荐
oracle9i的2个常用jdbc驱动包,希望大家能用的到。
oracle 9i jdbc驱动程序,含有三个压缩包,解压覆盖classes12.jar即可。
oracle jdbc驱动 jdk1.3 jdk1.4 ,两个版本,jdk1.3,jdk1.4
JAVA通过JDBC连接ORACLE9I
Oracle连接数据库JDBC驱动包,对于老版本的oracle,连接驱动比较难找比较难找,甲骨文官网下载难以查找旧版JDBC驱动。 压缩包搜集了几个版本的JDBC驱动,适用于Oracle9i 10,11等。
Oracle 9i、10g、11g通用jdbc驱动包!
用例: driver = "oracle.jdbc.driver.OracleDriver"; url = "jdbc\:oracle\:thin\:@192.168.1.202\:1521\:cxhis";
oracle数据库 jdbc 最新jar包 官网下的
针对oracle9i - 9.0.1版本的JDBC驱动
针对oracle9i - 9.2.0.1版本的JDBC驱动
此资源是Oracle 9iJDBC纯Java驱动程序,用于JDBC连接Oracle 9i数据库
MySQL_for_JDBC,Oracle9i_for_JDBC,SQL_2000_for_JDBC,SQL_2005_for_JDBC数据库驱动架包.rar
基于Java-JDBC访问Oracle9i对象关系数据库的一种实现方法.pdf
原书名:Oracle 9i Java Programming <br>Oracle 9i Java程序设计——使用PL/SQL和Java的解决方案 <br>【原出版社】 Wrox Press 【作 者】Bjarki Holm,John Carnell等 【译 者】 康博 【丛 ...
jdbc数据库驱动全集---oracle10g的,oracle9i的,SqlServer2000的,javabean的集合
绝对好用的9i驱动包+10g驱动包 解决java.sql.SQLException: 不支持的特性 解决oracle.jdbc.driver.OracleDatabaseMetaData.supportsGetGeneratedKeys()Z异常 等等
java 开发都可以用上专业连接工具。
JDBC各类纯驱动包(mysql.jar,Oracle9i.jar,SQLServer2005.jar)
使用JDBC实现XML文档到Oracle9i数据库的存取.pdf