JAVA连接oracle数据库的三种方式

1 传统方式连接数据库(效率较低)

     此方法连接数据库,其性能、可靠性与稳定性随着用户访问量的增加逐渐下降,跟踪测试表明,其根本问题与Connection对象的创建有关。不过在这里还是讲一下此方法的实现:添加记录到数据库表中

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

     String driver = "oracle.jdbc.driver.OracleDriver";
     String url = "jdbc:oracle:thin:@192.168.1.3:1521:ora92";
     String username = "scott";
     String password = "tiger";
     String sql = "insert into users(username,password) values (?,?)";

     try {

     Class.forName(driver);        //oracle.jdbc.driver.OracleDriver();
    Connection conn = DriverManager.getConnection(url, username,password);
     PreparedStatement ps = conn.prepareStatement(sql);    //Statement stat=conn.createStatement();

     ps.setString(1, "张三");
     ps.setString(2, "lisi");
      ps.executeUpdate();
     ps.close();
     conn.close();

   } catch (ClassNotFoundException e) {
     e.printStackTrace();
    } catch (SQLException e) {
     e.printStackTrace();
    }

   2 使用JDBC数据源连接池方式连接数据库(效率高)

     用这种方式连接数据库之前,首先需要配置TOMCAT服务器目录下的文件\tomcat5\conf\context.xml文件:

    <Context reloadable="true">

     <WatchedResource>WEB-INF/web.xml</WatchedResource>

    <Resource name="jdbc/oracle" auth="Container" type="javax.sql.DataSource"
    maxActive="100" maxIdle="30" maxWait="10000" username="scott"   password="tiger"    

     driverClassName="oracle.jdbc.OracleDriver"
     url="jdbc:oracle:thin:@192.168.1.3:1521:ora92"/>

    </Context>

配置完后将oracle驱动程序类classes12.jar拷贝到\tomcat5\common\lib目录下即可。在这里强调一下这个问题,我就是遇到这种问题的,最后就是这样给解决的。之前我用了ojdbc5.jar驱动类文件总是不能够建立连接的,而且出现这样的问题:Cannot create JDBC oracle driver of class '' for connect URL 'jdbc:oracle:thin:@192.168.1.3:1521:ora92'"。希望这篇文章给读者有点启发。我的QQ号码:89262840

   

    import javax.naming.Context;
    import javax.naming.InitialContext;

    import javax.sql.DataSource;

     String sql = "insert into users(username,password) values(?,?)";

    String username = request.getParameter("username");

    try {

   Context context=new InitialContext();
     DataSource ds=(DataSource)context.lookup("java:/comp/env/jdbc/oracle");
     Connection conn=ds.getConnection();
   
     PreparedStatement ps = conn.prepareStatement(sql);

     ps.setString(1, StringUtil.filterHtml(username));
     ps.setString(2, StringUtil.filterHtml(request.getParameter("password")));
     result = ps.executeUpdate();
     ps.close();
     conn.close();

   } catch (NamingException e) {
     e.printStackTrace();
    } catch (SQLException e) {
     e.printStackTrace();
    }

   3 使用组件的方式连接数据库

    本文主要以Commons DbUtils组件来连接数据库。它将JDBC中的一些类进行了二次封装,它不象hibernate(ORMapping)那样将JAVA对象与数据库映射。首先将oracle驱动类文件与Commons DbUtils组件的JAR文件一起引入到项目中。

     String sql = "insert into users(username,password) values(?,?)";

     String username = request.getParameter("username");

    String param[]={StringUtil.filterHtml(username),StringUtil.filterHtml(request.getParameter("password"))
    };

     try {

    Context initContext = new InitialContext();
     DataSource ds = (DataSource) initContext.lookup("java:/comp/env/jdbc/oracleds");
     QueryRunner qr = new QueryRunner(ds);
     result = qr.update(sql, param);

   } catch (NamingException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     } catch (SQLException e) {
        e.printStackTrace();
    }


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值