JAVA数据库基本操作 (转)


JAVA数据库基本操作指南

 

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

一、取得数据库连接

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中。

二、执行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(); // 更新

三、处理执行结果

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

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

ResultSet的方法

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

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

四、释放连接

  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);

#p#

(二)批量更新

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();

时间: 2024-11-09 02:46:40

JAVA数据库基本操作 (转)的相关文章

java数据库基本操作(sqlserver 2000为例)

一.环境搭建 1.下载对应数据库连接驱动包并引入. 2.如果在web中调用必须在tomcat中也放入对应的驱动包. 3.在jre的lib\ext中也加入对应的驱动包. 二.连接数据库 public static String server = "localhost"; //服务器 public static String port = "1433"; //端口号 public static String dbname = "testdb"; //

3.22数据库基础知识:①数据类型②基本规则③数据库基本操作,增删改库,表

数据库:①数据类型②基本规则③数据库基本操作,增删改库,表 DATABASE 数据库Relational Database 关系型数据库column 列 row行Primary Key 主键 Foreign Key 外键DBMS 数据库管理系统 Database Management SystemRDBNS 关系型数据库管理系统SQL Structured Query Language 结构化查询语言SQL 分为:DDL DQL DML DCL 一.数据类型:1.整数型:INT BIGINT2.

1Python全栈之路系列之MySQL数据库基本操作

Python全栈之路系列之MySQL数据库基本操作 MySQL数据库介绍 MySQL是一种快速易用的关系型数据库管理系统(RDBMS),很多企业都在使用它来构建自己的数据库. MySQL由一家瑞典公司MySQL AB开发.运营并予以支持.它之所以非常流行,原因在于具备以下这些优点: 基于开源许可发布,无需付费即可使用. 自身的功能非常强大,足以匹敌绝大多数功能强大但却价格昂贵的数据库软件. 使用业内所熟悉的标准SQL数据库语言. 可运行于多个操作系统,支持多种语言,包括 PHP.PERL.C.C

Java数据库操作(MySQL与SQLserver)

在java编程开发中,数据库的开发是重头戏. MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品: SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS). Jar包下载 java数据库的连接需要依赖外部jar包,所以需要下载后进行:构建路径->配置构建路径->库->添加JAR->应用->确定 SQLserver: https://blog-static.cnblogs.com/files/d

JAVA数据库编程(JDBC技术)-入门笔记

本菜鸟才介入Java,我现在不急着去看那些基本的语法或者一些Java里面的版本的特征或者是一些晋级的知识,因为有一点.Net的OOP编程思想,所以对于Java的这些语法以及什么的在用到的时候在去发现学习一下.我现在很迫不及待用JAVA想来实现以下对数据库的增删改查.想实现就来看Java是怎么操作数据库的,回想下.Net里你可能会配置web.Config,或者你去写一些DBhelper类然后调用里面的自己定义的一些增删改查的方法,更或者你去配一些数据控件等等往往发现操作基本都是一体化的简单.现在面

数据库基本操作(二)--数据查询

//数据查询 create database JXGL; //创建数据库 use JXGL;//使用数据库 create table S( Sno char(10) not null unique, Sname char(20) not null unique, Ssex char(2), Sage int, Sdept char(20)); create table C( Cno char(2) not  null primary key (Cno), Cname char(20), Teac

Java知多少(111)几个重要的java数据库访问类和接口

修改数据表记录也有3种方案. 一.使用Statement对象 实现修改数据表记录的SQL语句的语法是:    update表名 set 字段名1 = 字段值1,字段名2 = 字段值2,……where特定条件例如: update ksInfo set 姓名 = ‘张小卫’where 姓名 = ‘张大卫’ 先创建一个SQL语句,然砶调用Statement对象的executeUpdate()方法.例如, 1 sql = “update ksInfo set 姓名 = ‘”+txtName.getTex

接视频Java 数据库

http://pan.baidu.com/s/1mg1EYAO   windows各种版本 map.centerAndZoom(point,15); 这句话可以指向地图的不同位置 百度云http://developer.baidu.com/map/jsdemo.htm#i1_1?qq-pf-to=pcqq.c2c 1  百度云粉丝 http://yun.baidu.com/share/home?uk=1814500964&view=share#category/type=0          

java数据库查询结构

//获取数据表结构 public static void getConnAndTableStruct(){        Connection connection = null;        PreparedStatement pstmt = null;        ResultSetMetaData rsmd = null;        try {            //mysql连接             Class.forName("org.gjt.mm.mysql.Driv