Java连接Oracle

1,首先需要在Oracle安装完成之后新建一个用户

 1 --新建用户
 2 create user chenh identified by chenh;
 3 --解锁用户
 4 alter user chenh account unlock;
 5 alter user scott account unlock;
 6 --修改密码
 7 alter user chenh identified by chenh;
 8 --授予权限
 9 grant sysdba to chenh;
10 --授予chenh用户创建session的权限,即登陆权限
11 grant create session to chenh;
12 --授予chenh用户使用表空间的权限    
13 grant unlimited session to chenh;
14 --授予创建表的权限
15 grant create table to chenh;
16 --授予删除表的权限
17 grant drop table to chenh;
18 --插入表的权限
19 grant insert table to chenh;
20 --修改表的权限
21 grant update table to chenh;
22 --查看当前数据库实例名
23 select name from v$database;
24 --提交事务
25 commit;

 

2用户新建完成之后,可能会出现某个用户对标users没有权限的提示

1   -- 解决用户 XX 对 users表空间没有权限的问题
2  alter user chenh quota unlimited on users; 

 

 

3.新建一个测试表以及向其中插入几条数据

 1 --删除表
 2 drop table a;
 3 --新建表
 4 create table a(
 5 col1 varchar2(10),
 6 col2 varchar2(10),
 7 col3 varchar2(10),
 8 col4 varchar2(10)
 9 );
10 --查询
11 select * from a;
12 --插入语句 多执行几次,因为没有主键限制,故此处可以执行多次
13 insert into a (col1,col2,col3,col4) values ('a1','b','c','d');
14 
15 commit;

4.需要在eclipse中新建一个java项目

打开eclipse(myeclipse)-> File(文件)-> New(新建) ->Project(工程) -> Java Project (Java 工程)

  Project Name: 项目名称 接着一路Next(下一步)或者直接Finish(完成)

5.需提前下载ojdbc6.jar 连接数据库驱动的JAR包

  这里提供下载地址:https://files.cnblogs.com/files/1187163927ch/blog.rar

      解压密码:1187163927

6.在eclipse(myeclipse)新建的项目中将ojdbc6.jar导入,记得build path.

  打开该项目树状图,将下载好的ojdbc6.jar直接拖到该项目中,然后鼠标左键选中该文件,右键Build Path即可。

7.新建一个java类,在其中连接数据库

  7.1连接数据库驱动

 1 import java.sql.Connection;
 2 import java.sql.DriverManager;
 3 import java.sql.SQLException;
 4 
 5 public class DBConnection {
 6     public static Connection dbConn(String name, String pass) {
 7        Connection c = null;
 8        try {
 9            Class.forName("oracle.jdbc.driver.OracleDriver");
10            // 要是导入驱动没有成功的话都是会出现classnotfoundException.自己看看是不是哪里错了,例如classpath这些设置
11        } catch (ClassNotFoundException e) {
12            e.printStackTrace();
13        }
14        try {
15            c = DriverManager.getConnection(
16                   "jdbc:oracle:thin:@localhost:1521:chenh", name, pass);
17            // 连接数据的方法有四种, 这个属于最简单的,一般用网页程序 chenh是你的数据库实例名称,在下载的文件test.sql中可以执行语句查看
18            // "jdbc:oracle:thin:@计算机名称:监听端口:系统实例名", username, password,
19            // 计算机名称,要是自己不知道可以在计算机属性查知.
20            // 监听端口一般默认是1521, 要是改变了就看自己的监听文件listener.ora
21            // 系统实例名一般是默认orcl, 要是不是的话就用 select name from v$database; 看看当前的实例名.在本程序中我更改了实例为chenh
22            // username,password,就是登陆数据库的用户名和密码.
23  
24 
25        } catch (SQLException e) {
26            e.printStackTrace();
27        }
28        return c;
29     }
30 }

   7.2 查询数据库

 1 import java.sql.Connection;
 2 import java.sql.ResultSet;
 3 import java.sql.SQLException;
 4 import java.sql.Statement;
 5 
 6 public class DB extends DBConnection {
 7     private static Connection con = null;
 8     private static Statement sql = null;
 9     private static ResultSet rs = null;
10  
11 
12     public static void main(String[] args) throws SQLException {
13        String COL1;
14        String COL2;
15        String COL3;
16        String COL4;
17        try {
18            con = dbConn("chenh", "chenh");
19            if (con == null) {
20               System.out.print("连接失败");
21               System.exit(0);
22            }
23            sql = con.createStatement();
24            rs = sql.executeQuery("select * from a");
25            System.out.println("COL1" + "            " + "COL2" + "             "+ "COL3"+ "             "+ "COL4");
26            while (rs.next()) {
27               COL1 = rs.getString(1);
28               COL2 = rs.getString(2);
29               COL3 = rs.getString(3);
30               COL4 = rs.getString(4);
31               System.out.println(COL1 + "         " + COL2 + "         " + COL3+ "         " + COL4);
32            }
33        } catch (Exception e) {
34            e.printStackTrace();
35  
36 
37        } finally {
38            con.close();
39        }
40     }
41 }

检查不报错之后,执行按钮,选中项目  右键 -> Run As -> Java Application  可看到如下结果:

 

 

 

 

  

 

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐