zoukankan      html  css  js  c++  java
  • 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  可看到如下结果:

      

    欢迎访问我的博客! http://www.cnblogs.com/1187163927ch/
  • 相关阅读:
    Oracle:SQL语句--对表的操作——修改列的数据类型( 即 修改字段的数据类型)
    Oracle:SQL语句--对表的操作——修改列的数据类型( 即 修改字段的数据类型)
    有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和
    有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和
    鸡兔同笼:笼子里一共有鸡和兔子35只,一共有94条退, 笼子里一共有鸡和兔子共多少只
    jQuery,使用on代替delegate,live 写法区别
    安卓手机微信页面position: fixed位置错误
    表单提交是ajax提交,PC提交没问题但是手机提交就会一直跳到error,并且也没状态码一直是0
    新版本的jquery checkbox 全选反选代码只能执行一遍,第二次就失败attr与prop区别
    倒计时js代码
  • 原文地址:https://www.cnblogs.com/1187163927ch/p/8669859.html
Copyright © 2011-2022 走看看