`
lzkyo
  • 浏览: 458271 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • Java
阅读更多
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("comp/env");
    DataSource ds = (DataSource) ctx.lookup(jndi);
    Connection cn = ds.getConnection();
  
2、执行sql语句

  1)用Statement来执行sql语句
   String sql;
   Statement sm = cn.createStatement();
   sm.executeQuery(sql); // 执行数据查询语句(select)
   sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)
   stement.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"),返回当前游标下某个字段的值
 
4、释放连接
  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();

分享到:
评论

相关推荐

    关于java数据库基本操作

    1、java数据库操作基本流程2、几个常用的重要技巧:·可滚动、更新的记录集·批量更新·事务处理java数据库操作基本流程:取得数据库连接-执行sql语句-处理执行结果-释放数据库连接l、取得数据库连接1)用DriverManager...

    关于JAVA数据库基本操作

    1、java 数据库操作基本流程 2、几个常用的重要技巧: ·可滚动、更新的记录集 ·批量更新 ·事务处理 java 数据库操作基本流程:取得数据库连接- 执行sql 语句- 处理执行结果- 释放数据库连接

    Java数据库编程中的技巧

    1、java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 <br>2、几个常用的重要技巧:  可滚动、更新的记录集  批量更新  事务处理

    java定时执行sql语句

    通过配置数据库连接信息和要执行的sql语句,可实现定时执行多个sql语句。 所要执行的语句只能是写死的,可支持sqlserver mysql oracle。 配置说明: config/sys.properties 中指定数据库类型及连接信息,执行间隔...

    Java知识点总结大全(七) -- 数据库SQL语句基本操作.xmind

    Java知识点总结大全(七) -- 数据库SQL语句基本操作关注后面会分享面向对象,io,集合,多线程,网络,sql的总结

    java操作mysql数据库,不写sql语句版

    java操作mysql数据库,不写sql语句版

    JAVA数据库连接语句大全

    JAVA的一些数据库连接的语句~ 含Oracle,DB2数据库,Sql Server,MySQL,access等众多数据库连接语句指南~ 个人总结,与大家分享~

    postgresql数据库--psql、pg_dump命令带密码执行sql语句

    pg_dump: pg_dump -a -t tbl_test "host=127.0.0.1 hostaddr=127.0.0.1 port=5432 user=postgres password=123456 dbname=postgres" > /userdir/tbl_data a 参数是表示只导出数据,其他的额外信息不需要,该参数也...

    hibernate执行原生sql语句

    "hibernate执行原生sql语句" Hibernate 是一种流行的 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到关系数据库中。然而,在一些情况下,我们需要直接执行原生 SQL 语句,而不是使用 Hibernate 的...

    什么是Java的数据库连接技术?Java中常用的数据库连接方式有哪些?(java面试题附答案).txt

    Java的数据库连接技术是指在Java程序中与数据库建立连接并进行数据交互的技术。通过数据库连接技术,Java...使用JDBC连接数据库的步骤包括加载数据库驱动程序、建立连接、创建Statement对象、执行SQL语句并处理结果。

    数据库SQL 创建 查询语句

    数据库 SQL 创建查询语句 一、创建数据库 数据库是关系型数据库管理系统的核心组成部分,用于存储和组织数据。在 SQL Server 2008 中,可以使用对象资源管理器或 T-SQL 语句创建用户数据库。使用对象资源管理器...

    Java操作Oracle数据库(建表,插数据,删除)

    JDBC API 提供了与数据库交互的方法,包括创建连接、执行 SQL 语句、处理结果集等。 建表操作 在上面的代码中,我们使用了以下语句来创建一个名为 MYFIRST 的表: ```java String query = "CREATE TABLE MYFIRST" ...

    论文研究-可重用Java数据库操作组件的设计和实现.pdf

    它封装了注册和载入JDBC驱动程序、建立数据库连接、运行Structured Query Language(SQL)语句及处理查询结果集、查询结果集的分页显示操作,简化了Java DataBase Connectivity(JDBC)代码的编写,通过编写SQL语句,...

    Java数据库连接教程

    JDBC(Java DataBase Connectivity)是java数据库连接API。简单地说,JDBC能完成3件事: (1)与一个数据库建立连接; (2)向数据库发送SQL语句: (3)处理数据库返回的结果。 下面我们就结合一个例子来说明这3步。 JDBC在...

    根据数据库sql生成java代码代码生成器

    2、工具不需要导入到项目中,本地执行就可以,生成基本的增删改查功能代码。 3、生成的代码有注释和swagger注解,并且实体中有mybatisplus注解 4、优点:提高效率、方便快捷 5、具体操作步骤可见:使用说明.txt。 1...

    java连接SQL数据库

    java连接SQL数据库 方法一:安装Microsoft SQL Server 2000 Driver for JDBC后,将lib目录下的msbase.jar , mssqlserver.jar, msutil.jar 复制到JDK的主目录下,具体是jdk1.4jrelibext . 完成后编写一下代码 原理:...

    基于Java的Pndao框架:自动化MyBatis SQL语句生成工具源码

    该项目完全采用Java语言开发,为开发者提供了一个高效的数据库操作解决方案。 技术构成: - 主要编程语言:Java - 文件构成:共28个文件,包括: - Java源文件:14个,涵盖了框架的核心功能实现。 - XML配置文件...

Global site tag (gtag.js) - Google Analytics