java连接oracle数据库

  先要在项目里引入 ojabc6.jar

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

public class test {
    
        /**
         * 一个非常标准的连接Oracle数据库的示例代码
         */
        public static  void main(String[] args)
        {
            Connection con = null;// 创建一个数据库连接
            PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用Statement
            ResultSet result = null;// 创建一个结果集对象
            try
            {
                Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序
                System.out.println("开始尝试连接数据库!");
                String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";// 127.0.0.1是本机地址
                //端口号默认1521,最后一个为sid,默认为orcl
                String user = "yff";// 用户名,系统默认的账户名
                String password = "yff";// 你安装时选设置的密码
                con = DriverManager.getConnection(url, user, password);// 获取连接
                System.out.println("连接成功!");
                String sql = "select * from TEST";// 预编译语句,“?”代表参数
                pre = con.prepareStatement(sql);// 实例化预编译语句
               
                result = pre.executeQuery();// 执行查询,注意括号中不需要再加参数
                while (result.next())
                    
                    // 当结果集不为空时
                    
                    System.out.println("学号:" + result.getInt("id") + "姓名:"
                            + result.getString("name"));
                    
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
            finally
            {
                try
                {
                    // 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源
                    // 注意关闭的顺序,最后使用的最先关闭
                    if (result != null)
                        result.close();
                    if (pre != null)
                        pre.close();
                    if (con != null)
                        con.close();
                    System.out.println("数据库连接已关闭!");
                }
                catch (Exception e)
                {
                    e.printStackTrace();
                }
            }
        }
    
}

  这个是在oracle建立的表的数据

  最后在eclipse中的执行结果

 

 

  现在已经不建议使用Statement了,更多的是用PreparedStatement,因为Statement是直接把参数写到sql中,这样可能会导致sql注入攻击,而PreparedStatement是把参数写在外面,这样更加安全。

 

posted @ 2017-09-06 15:55  真的是从入门开始  阅读(244)  评论(0编辑  收藏  举报