• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Java数据库编程中的技巧
    1、java数据库操作基本流程

      2、几个常用的重要技巧:

      可滚动、更新的记录集

      批量更新

      事务处理

      java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接

      1、取得数据库连接

      1)用DriverManager取数据库连接

      例子:

      String className,url,uid,pwd;
      className = "oracle.jdbc.driver.OracleDriver";
      url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr;
      uid = "system";
      pwd = "manager";
      Class.forName(className);
      Connection cn = DriverManager.getConnection(url,uid,pwd);

      2)用jndi(java的命名和目录服务)方式

      例子

      String jndi = "jdbc/db";
      Context ctx = (Context) new InitialContext().lookup("java:comp/env");
      DataSource ds = (DataSource) ctx.lookup(jndi);
      Connection cn = ds.getConnection();

      多用于jsp中

      2、执行sql语句

      1)用Statement来执行sql语句

      String sql;
      Statement sm = cn.createStatement();
      sm.executeQuery(sql); // 执行数据查询语句(select)
      sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close();

      2)用PreparedStatement来执行sql语句

      String sql;
      sql = "insert into user (id,name) values (?,?)";
      PreparedStatement ps = cn.prepareStatement(sql);
      ps.setInt(1,xxx);
      ps.setString(2,xxx);
      ...
      ResultSet rs = ps.executeQuery(); // 查询
      int c = ps.executeUpdate(); // 更新

      3、处理执行结果

      查询语句,返回记录集ResultSet。

      更新语句,返回数字,表示该更新影响的记录数。

      ResultSet的方法:

      1、next(),将游标往后移动一行,如果成功返回true;否则返回false。

      2、getInt("id")或getSting("name"),返回当前游标下某个字段的值。

      3、释放连接。

      cn.close();

      一般,先关闭ResultSet,然后关闭Statement(或者PreparedStatement);最后关闭Connection

      可滚动、更新的记录集

      1、创建可滚动、更新的Statement

      Statement sm = cn.createStatement(ResultSet.TYPE_SCROLL_ENSITIVE,ResultSet.CONCUR_READ_ONLY);

      该Statement取得的ResultSet就是可滚动的

      2、创建PreparedStatement时指定参数

      PreparedStatemet ps = cn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

      ResultSet.absolute(9000);

      批量更新

      1、Statement

      Statement sm = cn.createStatement();
      sm.addBatch(sql1);
      sm.addBatch(sql2);
      ...
      sm.executeBatch()

      一个Statement对象,可以执行多个sql语句以后,批量更新。这多个语句可以是delete、update、insert等或兼有

      2、PreparedStatement

      PreparedStatement ps = cn.preparedStatement(sql);
      {
      ps.setXXX(1,xxx);
      ...
      ps.addBatch();
      }
      ps.executeBatch();

      一个PreparedStatement,可以把一个sql语句,变换参数多次执行,一次更新。

      事务的处理

      1、关闭Connection的自动提交

      cn.setAutoCommit(false);

      2、执行一系列sql语句

      要点:执行每一个新的sql语句前,上一次执行sql语句的Statement(或者PreparedStatemet)必须先close

      Statement sm ;
      sm = cn.createStatement(insert into user...);
      sm.executeUpdate();
      sm.close();

      sm = cn.createStatement("insert into corp...);
      sm.executeUpdate();
      sm.close();

      3、提交

      cn.commit();

      4、如果发生异常,那么回滚

      cn.rollback();
    上一篇:JBuilder2005开发Web应用程序
    下一篇:Java布局管理器使用方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Java数据库编程中的技巧 Java,数据库,编程,中的,技巧,