最近在学习数据库,无意中找到个连接Oracle的简单的例子,稍微修改了下。特此记录:
1
import java.sql.*;
2
import java.util.logging.Level;
3
import java.util.logging.Logger;
4
5
/** *//**
6
* Title: JDBC连接数据库
7
* Description: 本实例演示如何使用JDBC连接Oracle数据库,并演示添加数据和查询数据.
8
*/
9
public class JDBCExample
{
10
11
public static void main(String[] arg)
{
12
try
{
13
try
{
14
//注册JDBC驱动
15
Class.forName("oracle.jdbc.driver.OracleDriver");
16
} catch (ClassNotFoundException ex)
{
17
Logger.getLogger(JDBCExample.class.getName()).log(Level.SEVERE, null, ex);
18
}
19
//创建数据库连接
20
String url = "jdbc:oracle:thin:@127.0.0.1:1521:NEW";
21
String username = "scott";
22
String password = "tiger";
23
Connection con = null;
24
try
{
25
con = DriverManager.getConnection(url, username, password);
26
} catch (SQLException ex)
{
27
Logger.getLogger(JDBCExample.class.getName()).log(Level.SEVERE, null, ex);
28
}
29
Statement statement = null;
30
try
{
31
statement = con.createStatement();
32
} catch (SQLException ex)
{
33
Logger.getLogger(JDBCExample.class.getName()).log(Level.SEVERE, null, ex);
34
}
35
ResultSet result;
36
//创建表
37
System.out.println("--Creating Tables--");
38
statement.executeUpdate("CREATE TABLE Person(name VARCHAR2(100) PRIMARY KEY,age INTEGER,live_in VARCHAR2(100) )");
39
//插入记录
40
System.out.println("--Inserting Data--");
41
statement.executeUpdate("INSERT INTO Person (name, age, live_in) VALUES('Robert Bellamy',24,'England')");
42
statement.executeUpdate("INSERT INTO Person (name, age, live_in) VALUES ('Grayham Downer',null,'Africa')");
43
statement.executeUpdate("INSERT INTO Person (name, age, live_in) VALUES ('Timothy French',24,'Africa')");
44
statement.executeUpdate("INSERT INTO Person (name, age, live_in) VALUES ('Butch Fad',53,'USA')");
45
statement.executeUpdate("INSERT INTO Person (name, age, live_in) VALUES ('Judith Brown',34,'Africa')");
46
// 查询
47
System.out.println("--SQL queries--");
48
result = statement.executeQuery("SELECT AVG(age) FROM Person");
49
if (result.next())
{
50
System.out.println("AV.age: " + result.getDouble(1));
51
}
52
System.out.println();
53
result = statement.executeQuery("SELECT name FROM Person WHERE live_in = 'Africa'");
54
System.out.println("All people that live in Africa:");
55
while (result.next())
{
56
System.out.println(" " + result.getString(1));
57
}
58
//删除表
59
statement.execute("DROP TABLE Person");
60
statement.close();
61
con.close();
62
} catch (SQLException ex)
{
63
Logger.getLogger(JDBCExample.class.getName()).log(Level.SEVERE, null, ex);
64
}
65
}
66
}
发现几个问题:
1.这里任何的SQL语句必须去掉分号,若有分号则会提示java.sql.SQLException: ORA-00911: invalid character的错误。
2.插入语句不能用逗号隔开的形式。如:INSERT INTO Person (name, age, live_in) VALUES ('Butch Fad',53,'USA'), ('Judith Brown',34,'Africa'),"INSERT INTO Person (name, age, live_in) VALUES ('Grayham Downer',null,'Africa')"。
3.NetBeans 6.5里面导入连接Oracle驱动的jar包的步骤是在项目窗口中右键点击“库”,选择添加库将oracle中自带的classes12.jar导入。
posted on 2009-06-08 13:00
杨洋洋 阅读(1244)
评论(0) 编辑 收藏