import java.sql.*;
public class Db {
public Connection con;
public Statement st;
public PreparedStatement pst;
public CallableStatement cst;
public ResultSet rs;
public Db() {
Java连接Oracle方式
try {
// localhost:主机,服务器的名称
// 1521: 端口号
// tyl: 数据库的名称
// oracle.jdbc.driver.OracleDriver :加载数据库驱动程序
String ds = "jdbc:oracle:thin:@localhost:1521:tyl";
String user = "system";
String password = "123";
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
con = DriverManager.getConnection(ds, user, password);
// user应具有dba权限
// exp dbuser/oracle file=dbuser.dmp log=dbuser.log
// tables=table1,table2 buffer=4096000 feedback=10000
// 导入数据库 :1.Imp system/123@tyl fromuser=system touser=system
// file="d:\test.dmp"
// 2.Imp system/123@tyl fromuser=system touser=system
// file="d:\test.dmp" tables=test
// 导出数据库:1. exp system/123 file='d:\test.dmp'
// 2.exp system/123 file='d:\test.dmp' log='d:\log.txt 导出所有的
// 3.exp system/123 file='d:\test.dmp' log='d:\log.txt
// tables=test,test2 导出两张表
}
catch (Exception e) {
e.printStackTrace();
}
}
// 普通查询
public ResultSet query(String sql) {
try {
st = con.createStatement();
st.setFetchSize(2);
// st.getFetchSize();
rs = st.executeQuery(sql);
}
catch (Exception e) {
System.out.println(e.toString());
}
return rs;
}
// 添加、修改、删除
public int update(String sq) {
int x = -1;
try {
st = con.createStatement();
x = st.executeUpdate(sq);
}
catch (Exception e) {}
return x;
}
// 批处理
public void executeB(String sq[]) {
try {
con.setAutoCommit(false);
st = con.createStatement();
for (int i = 0; i < sq.length; i++) {
st.addBatch(sq[i]);
}
st.executeBatch();
con.commit();
}
catch (Exception e) {}
}
// 执行带参数的SQL语句
public void prepareQ(String s1, String s2) {
try {
String sql = "insert into test(id,name,address) values(seql.nextval,?,?)";
pst = con.prepareStatement(sql);
pst.setString(1, s1);
pst.setString(2, s2);
pst.execute();
}
catch (Exception e) {}
}
// 执行存储过程
public boolean callQ(String sq) {
boolean flag = false;
try {
cst = con.prepareCall(sq);
flag = cst.execute();
}
catch (Exception e) {}
return flag;
}
public static void main(String args[]) {
Db m = new Db();
//常用设置命令:
// set linesize=100;
// set pagesize=100; 默认80
// save e:\\test.sql
// desc test
// show user
// select user from dual
// 表空间: 创建,修改。
try {
// create tablespace asm_test datafile
// 'c:\oracle\oradata\diogenes\asm_test.dbf'size 5m EXTENT
// MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
// String str =
// " CREATE TABLESPACE tylspace DATAFILE 'tylspace.dbf' SIZE 50M EXTENT MANAGEMENT LOCAL AUTOALLOCATE";
// String str =
// "ALTER TABLESPACE temp ADD TEMPFILE 'temp_add.dbf' SIZE 500M AUTOEXTEND ON";
// String str = "drop tablespace tylspace";
// int in = m.update(str);
// System.out.println("in============" + in);
m.con.commit();
}
catch (SQLException e1) {
e1.printStackTrace();
}
// 查询:
// String queryStr = "select * from test";
// String queryStr="select * from test where id=3";
// String queryStr="select * from test where id=3 and name='name3'";
// String queryStr = "select id from test";
// 只有% ; _ ;[^] ; [] ; 4种通配符
// 以上4种通配符的含义
// % 表示零个或多个字符
// _ 表示单个字符
// \ 特殊字符
// [] 表示范围[a-f]或集合[abcdef]的任何单个字符
// [^] 表示不属于指定范围的[a-f] 或集合[abcdef]的单个字符 通常表示[^a-f] or [^abcdef]
// String queryStr = "select * from test where name like 'name1'";
// String queryStr = "select * from test where name like 'name1%'";
// String queryStr =
// "select * from test where name like 'name1_'";//无匹配
// String queryStr = "select * from test where name like 'name_'";
// 有问题,无匹配
// String queryStr =
// "select * from atm1_operatelog t where t.operatetime like to_date('2006-10-16','yyyy-MM-dd')";//
// String queryStr = "select * from test where name like '[^a-z]%'";
// select * from temp where name like 'bei%';
// 或者
// select * from temp where name like '%bei%';
// 两者的区别: 如果name建立有索引,第一种会走索引,第二种不走索引,会进行全表扫描.
// String queryStr
// ="select * from test where id in(select id from test)";
// String queryStr =
// "select * from test where exists(select null from test2 where name ='name2')";
// //如果test2存在name=name2,查询出Test中的所有值
// String queryStr =
// "select * from test t where t.currenttime like to_date('2010-08-05','yyyy-MM-dd')";
// String queryStr =
// "select * from test where name in(select name from test2)";
// String queryStr =
// "select * from test where name in(select name from test2)";
// String queryStr = "select currenttime from test "; //
// String queryStr =
// "select to_char(currenttime) from test where name in(select name from test2)";
// String queryStr = "select count(*) num from test2";
// String queryStr =
// "SELECT to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') FROM dual";
// String queryStr =
// "SELECT * FROM user_objects WHERE object_type='TABLE'";
// String queryStr =
// "SELECT * FROM user_objects WHERE object_name='TEST'";
// String queryStr = "select column_name from user_cons_columns ";
// String queryStr =
// "select column_name from user_cons_columns where constraint_name = (select u.constraint_name from user_constraints u where u.table_name = 'test' and u.constraint_type = 'P')";
// String queryStr = "select constraint_name from user_cons_columns ";
// String queryStr =
// "select constraint_name from user_cons_columns where table_name='TEST' ";
// //要用大写
// String queryStr = "select * from user_constraints ";
// String queryStr =
// "select CONSTRAINT_TYPE from user_constraints where constraint_name like 'PK_%'";
// String queryStr = "select CONSTRAINT_TYPE from user_constraints ";
// //p代表为主键
// String queryStr =
// "select CONSTRAINT_NAME from user_constraints where CONSTRAINT_TYPE = 'P'";
// //p为大写,否则不匹配
String queryStr = "select CONSTRAINT_NAME from user_constraints where CONSTRAINT_TYPE = 'R'"; // p为大写,否则不匹配
// 关于限制的类型:P 代表主键,R 代表外键,C 代表约束
ResultSet rs = m.query(queryStr);
try {
while (rs.next()) {
System.out.println(rs.getString(1));
// System.out.println(rs.getInt("id"));
// System.out.println(rs.getString("name"));
// System.out.println(rs.getInt(1));
// System.out.println(rs.getString(2));
// System.out.println(rs.getString(3));
// System.out.println(rs.getString(4));
}
}
catch (Exception e) {
System.out.println(e.toString());
e.printStackTrace();
}
// 创建:
try {
// String newStr =
// "create table test2(id number,name varchar(100),address varchar(100))";
// String newStr =
// "alter table test2 add constraint pk_test2 primary key(id)";
// int in = m.update(newStr);
// String newStr = "alter table test add date_time date";
// String newStr = "update test set date_time =(select sysdate from dual) where name='name2'";
String newStr = "create or replace function testfun(param in varchar)" +
" return number" +
" as returnvalue number ;" +
"begin" +
" select count(*) into returnvalue from test where name=param;" +
"return returnvalue;" +
"end;";
int in = m.update(newStr);
// EN_DATE datetime
System.out.println("in============" + in);
m.con.commit();
}
catch (SQLException e1) {
e1.printStackTrace();
}
// 插入:
try {
// String insertStr
// ="insert into test values(seql.nextval,'name1','shaanxi','112223')";
// String insertStr =
// "insert into test(id,name) values(seql.nextval,'name2')";
String insertStr = "create view viewtest1 as select t1.id,t1.name from test t1,test2 t2";
// String insertStr = "drop view viewtest";
// int in = m.update(insertStr);
// System.out.println("in============" + in);
m.con.commit();
}
catch (SQLException e1) {
e1.printStackTrace();
}
// 修改
try {
// String updateStr = "update test set name='name3' where id=3";
// String updateStr="alter table test add address varchar(100)";
// String updateStr="alter table test add currenttime date";
// String updateStr =
// "alter table test add constraint pk_test primary key(id)";
// String updateStr =
// "alter table test add constraint pk_test primary key(id)";
// String updateStr
// ="alter table test2 add constraint pk_test primary key(id)";
// String updateStr =
// "update test set currenttime=sysdate where id=14";
// 修改所有
// String updateStr = "update test set currenttime=sysdate";
// String updateStr = "insert into test2(id) values(seql.nextval)";
// String updateStr =
// "update test set forid=(select count(*) from test2) where name='name1'";
// String updateStr = "alter table test add forid number";
// String updateStr =
// "alter table test add constraint fk_test foreign key (forid) references test2(id)";
// String updateStr = "alter table test add pho varchar(100)";
// String updateStr = "alter table test rename column pho to phone";
// String updateStr = "delete from test where name='name3'";
// String updateStr = "delete from test";
// String updateStr = "alter table test add check (name!='name')";
// String updateStr =
// "insert into test(id,name) values(seql.nextval,'name')"; //无法插入
// String updateStr = " create synonym syn for testsyn";
String updateStr = " drop synonym syn";
// String updateStr = "alter table test add check (name!='name')";
// int in = m.update(updateStr);
// System.out.println("in============" + in);
m.con.commit();
}
catch (SQLException e1) {
e1.printStackTrace();
}
// 调用存储过程
/*
* boolean x=m.callQ("{call ww}"); if(x==true){
* System.out.println("ok"); }else{ System.out.println("no"); }
*/
// 执行带参数的语句
// m.prepareQ("pp","458");
// 批处理
try {
String st1 = "insert into test(id,name) values(seql.nextval,'name3')";
String st2 = "delete from test where id=32";
String st[] = { st1, st2 };
// m.executeB(st);
}
catch (Exception e1) {
e1.printStackTrace();
}
}
}
分享到:
相关推荐
Java 操作 Oracle 数据库(建表,插数据,删除) Java 是一种广泛使用的编程语言,而 Oracle 数据库是一种功能强大且广泛使用的关系型数据库管理系统。在本文中,我们将探讨如何使用 Java 操作 Oracle 数据库,包括...
根据提供的文件信息,本文将详细解释如何使用Java操作Oracle数据库,并深入探讨代码中涉及的关键概念和技术要点。 ### 一、Java操作Oracle数据库简介 #### 1.1 准备环境 在开发Java程序来操作Oracle数据库之前,...
首先,我们需要了解Java中用于数据库操作的JDBC(Java Database Connectivity)API。JDBC是Java平台的一部分,它为Java应用程序提供了一种标准的方法来连接和操作各种类型的数据库,包括Oracle。在Java程序中,我们...
2. **Oracle数据库操作**:一旦建立了连接,我们可以通过`Statement`或`PreparedStatement`对象来执行SQL语句,包括查询、插入、更新和删除数据。在本示例中,还涉及到调用Oracle数据库中的函数和存储过程,这通常...
本节将深入探讨如何使用Java来操作Oracle数据库,特别是调用存储过程。 首先,我们需要了解JDBC的基本概念。JDBC是Java平台的标准接口,它允许Java程序连接到各种类型的数据库,包括Oracle。在Java中,我们通常通过...
Java操作Oracle数据库主要依赖于Java Database Connectivity (JDBC),这是Sun Microsystems(现为Oracle公司)提供的一个标准API,用于在Java应用程序中与各种关系数据库进行交互。JDBC为不同的数据库系统提供了一个...
在Java编程中,与Oracle数据库进行交互是一项常见的任务。Oracle数据库提供了一些高级数据类型,如ARRAY和TABLE,这些类型能够帮助我们实现批量入库操作,从而提高数据处理的效率。本篇将详细介绍如何利用Java操作...
在Java中集成Oracle数据库,不仅可以从Java调用数据库操作,还可以在SQL和PL/SQL中调用Java代码。Oracle提供了扩展的DDL语句,允许在数据库中创建和管理Java程序,将Java命名空间映射到数据库模式,使得访问和调用...
总之,Java通过JDBC驱动与Oracle数据库进行交互,主要涉及连接配置、数据库操作和资源管理等环节。正确引入Oracle JDBC驱动JAR包,并理解其使用方法,是开发Java数据库应用的基础。在实际开发中,还需要注意错误处理...
Java 导出 Oracle 数据库数据 Java 是一种流行的编程语言,广泛应用于各种领域。Oracle 是一种关系数据库管理系统,广泛应用于企业级应用中。在实际项目中,数据备份和恢复是非常重要的工作。本文将介绍如何使用 ...
### 使用Java连接Oracle数据库 #### 一、简介与准备工作 在进行Java程序开发时,经常需要与数据库进行交互。Oracle数据库作为业界广泛使用的数据库之一,掌握如何使用Java连接Oracle数据库是一项重要的技能。本文...
java连接oracle数据库驱动器java连接oracle数据库驱动器java连接oracle数据库驱动器java连接oracle数据库驱动器java连接oracle数据库驱动器java连接oracle数据库驱动器java连接oracle数据库驱动器java连接oracle...
在本课程设计中,我们利用Java编程语言与Oracle数据库相结合,构建了一个功能完善的学生成绩管理系统。这个系统针对管理员、教师和学生三个角色,提供了不同的权限和操作功能,旨在实现成绩的有效管理和查询。 首先...
这是一个基于Java编程语言和Oracle数据库开发的信息管理系统源代码项目,名为"hotel-management-master"。这个系统主要用于帮助管理者高效地处理员工信息和用户数据,尤其适用于酒店行业的信息管理。以下是关于这个...
对于初学者来说,掌握如何使用Java操作Oracle数据库进行增删改查是基础且重要的技能。本教程将围绕这个主题展开,帮助你入门这一领域的知识。 一、Java数据库连接(JDBC) 在Java中与Oracle数据库交互,首先需要...
在Java编程中,操作Oracle数据库是一项常见的任务,用于存储、检索和处理数据。这篇博文主要总结了Java程序中与Oracle数据库交互的一些基本操作。通过`PersonCreditComplainDao.java`这个文件名,我们可以推测这是一...
在Java编程中,连接Oracle数据库并执行简单的查询是常见的任务,尤其在开发企业级应用时。这个过程涉及几个关键步骤,下面将详细解释这些步骤以及相关的知识点。 首先,要连接Oracle数据库,你需要以下核心组件: ...
在Java编程中,连接Oracle数据库是一项常见的任务,特别是在开发企业级应用时。Oracle数据库是世界上最流行的关系型数据库管理系统之一,而Java作为一种多平台支持的编程语言,为与Oracle的交互提供了丰富的工具和库...