`
isiqi
  • 浏览: 16051009 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Jdbc标准编程

阅读更多

package com.yelang;

import java.sql.*;

public class TestJdbc
{
public static void main(String[] args)
{
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try
{
// Class.forName("com.mysql.jdbc.Driver").newInstance();
// new com.mysql.jdbc.Driver();
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/shiyan", "root", "111");
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from user");
while (rs.next())
{
System.out.println(rs.getString("username"));
System.out.println(rs.getString("password"));
}
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
try
{
if (rs != null)
{
rs.close();
rs = null;
}
if (stmt != null)
{
stmt.close();
stmt = null;
}
if (conn != null)
{
conn.close();
conn = null;
}
}
catch (SQLException e)
{
e.printStackTrace();
}

}
}
}

PreparedStatement

import java.sql.*;

public class TestPrepStmt
{

public static void main(String[] args)
{
if (args.length != 3)
{
System.out.println("Parameter Error! Please Input Again!");
System.exit(-1);
}

int deptno = 0;

try
{
deptno = Integer.parseInt(args[0]);
}
catch (NumberFormatException e)
{
System.out
.println("Parameter Error! Deptno should be Number Format!");
System.exit(-1);
}

String dname = args[1];
String loc = args[2];

PreparedStatement pstmt = null;
Connection conn = null;
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
// new oracle.jdbc.driver.OracleDriver();
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@192.168.0.1:1521:SXT", "scott", "tiger");
pstmt = conn.prepareStatement("insert into dept2 values (?, ?, ?)");
pstmt.setInt(1, deptno);
pstmt.setString(2, dname);
pstmt.setString(3, loc);
pstmt.executeUpdate();
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
try
{
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
if (conn != null)
{
conn.close();
conn = null;
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}

}

存储过程

SQL>create or replace procedure p
2 (v_a in number,v_b number,v_ret out number,v_temp in out number)
3 is
4
5 begin
6 if(v_a > v_b) then
7 v_ret := v_a;
8 else
9 v_ret := v_b;
10 end if;
11 v_temp := v_temp + 1;
12 end;

import java.sql.*;

public class TestProc
{
public static void main(String[] args)
{

Connection conn = null;
CallableStatement cstmt = null;
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@192.168.0.1:1521:SXT", "scott", "tiger");
cstmt = conn.prepareCall("{call p(?, ?, ?, ?)}");
cstmt.registerOutParameter(3, Types.INTEGER);
cstmt.registerOutParameter(4, Types.INTEGER);
cstmt.setInt(1, 3);
cstmt.setInt(2, 4);
cstmt.setInt(4, 5);
cstmt.execute();
System.out.println(cstmt.getInt(3));
System.out.println(cstmt.getInt(4));
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
if (cstmt != null)
{
cstmt.close();
cstmt = null;
}
if (conn != null)
{
conn.close();
conn = null;
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
}

批处理

import java.sql.*;

public class TestBatch
{

public static void main(String[] args)
{
Connection conn = null;

PreparedStatement ps = null;
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@192.168.0.1:1521:SXT", "scott", "tiger");
ps = conn.prepareStatement("insert into dept2 values (?, ?, ?)");
ps.setInt(1, 61);
ps.setString(2, "haha");
ps.setString(3, "bj");
ps.addBatch();
ps.setInt(1, 62);
ps.setString(2, "haha");
ps.setString(3, "bj");
ps.addBatch();
ps.setInt(1, 63);
ps.setString(2, "haha");
ps.setString(3, "bj");
ps.addBatch();
ps.executeBatch();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
if (ps != null)
{
ps.close();
ps = null;
}
if (conn != null)
{
conn.close();
conn = null;
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
}

Transaction,事务处理

import java.sql.*;

public class TestTransaction
{

public static void main(String[] args)
{

Connection conn = null;
Statement stmt = null;

try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@127.0.0.1:1521:SXT", "scott", "tiger");
conn.setAutoCommit(false);
stmt = conn.createStatement();
stmt.addBatch("insert into dept2 values (51, '500', 'haha')");
stmt.addBatch("insert into dept2 values (52, '500', 'haha')");
stmt.addBatch("insert into dept2 values (53, '500', 'haha')");
stmt.executeBatch();
conn.commit();
conn.setAutoCommit(true);
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
catch (SQLException e)
{

e.printStackTrace();

try
{
if (conn != null)
{
conn.rollback();
conn.setAutoCommit(true);
}
}
catch (SQLException e1)
{
e1.printStackTrace();
}
}
finally
{
try
{
if (stmt != null)
stmt.close();
if (conn != null)
conn.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
}

JDBC处理可滚动的结果集

import java.sql.*;

public class TestScroll
{
public static void main(String args[])
{
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@192.168.0.1:1521:SXT";
conn = DriverManager.getConnection(url, "scott", "tiger");
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery("select * from emp order by sal");
rs.next();
System.out.println(rs.getInt(1));
rs.last();
System.out.println(rs.getString(1));
System.out.println(rs.isLast());
System.out.println(rs.isAfterLast());
System.out.println(rs.getRow());
rs.previous();
System.out.println(rs.getString(1));
rs.absolute(6);
System.out.println(rs.getString(1));
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
try
{
if (rs != null)
{
rs.close();
rs = null;
}
if (stmt != null)
{
stmt.close();
stmt = null;
}
if (conn != null)
{
conn.close();
conn = null;
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
}

JDBC处理可更新的结果集

import java.sql.*;

public class TestUpdataRs
{
public static void main(String args[])
{

Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@192.168.0.1:1521:SXT";
conn = DriverManager.getConnection(url, "scott", "tiger");
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery("select * from emp2");
rs.next();
// 更新一行数据
rs.updateString("ename", "AAAA");
rs.updateRow();

// 插入新行
rs.moveToInsertRow();
rs.updateInt(1, 9999);
rs.updateString("ename", "AAAA");
rs.updateInt("mgr", 7839);
rs.updateDouble("sal", 99.99);
rs.insertRow();
// 将光标移动到新建的行
rs.moveToCurrentRow();

// 删除行
rs.absolute(5);
rs.deleteRow();

// 取消更新
// rs.cancelRowUpdates();

}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
try
{
if (rs != null)
{
rs.close();
rs = null;
}
if (stmt != null)
{
stmt.close();
stmt = null;
}
if (conn != null)
{
conn.close();
conn = null;
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
}

分享到:
评论

相关推荐

    Java语言SQL接口 JDBC编程技术

    JDBC(Java DataBase Connectivity)是Java语言与数据库互联的接口。通过JDBC可以使用Java应用程序或Java applet访问网络上的各种数据库。本书首先介绍了JDBC的概念、结构和特点。然后逐步讲解了如何编写JDBC程序。...

    JDBC与Java数据库编程

    JDBC与Java数据库编程 标准学习课件

    Microsoft SQL Server JDBC Driver 2.0

    SQL Server JDBC Driver 2.0,这是一个 Type 4 JDBC 驱动程序,它通过 Java Platform, Enterprise Edition 5 中可用的标准 JDBC 应用程序编程接口 (API) 提供数据库连接。 概述 Microsoft 一直致力于提高互操作性,...

    J2EE体系统一,关于JDBC

    、JDBC概述:sun公司的一个商标,用其命名java访问数据库的技术 ... 抽象层:JDBC规范协议,定义出统一访问数据库的接口,是sun公司定义的标准 实现层:JDBC驱动程序,进行真实的数据库连接,由具体数据库厂商提供

    Microsoft SQL Server 2008 JDBC 3.0(微软官网下载)

    SQL Server JDBC Driver 3.0,这是一个 Type 4 JDBC 驱动程序,它通过 Java Platform, Enterprise Edition 5 及更高版本中可用的标准 JDBC 应用程序编程接口 (API) 提供数据库连接。 系统要求: •支持的操作系统:...

    sqljdbc42jre包/Microsoft JDBC Driver 6.0 for SQL Server微软官网下载

    Microsoft SQL Server JDBC...下载 Microsoft JDBC Driver 6.0 for SQL Server,这是一个 Type 4 JDBC 驱动程序,它通过 Java Platform Enterprise Edition 中可用的标准 JDBC 应用程序编程接口 (API) 提供数据库连接。

    JDBC连接的方式大全

    java数据库连接(jdbc)由一组用 java 编程语言编写的类和接口组成。jdbc 为工具/数据库开发人员提供了一个标准的 api,使他们能够用纯java api 来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发...

    sql server jdbc 4.2驱动

    Microsoft JDBC Driver for SQL Server 是一个 Type 4 JDBC 驱动程序,它通过 Java 平台中可用的标准 JDBC 应用程序编程接口 (API) 提供数据库连接。 所有用户都可以免费下载驱动程序。 通过这些程序,用户可以从...

    JDBC 3.0数据库开发与设计

    4.4.3 非标准JDBC API类的行集 4.4.4 行集合的接口 4.5 事务 4.5.1 事务提交(Commit) 4.5.2 事务使用实例 4.6 JNDI与JDBC API 4.6.1 JDBC数据源 4.6.2 实例 4.7 连接池 4.7.1 连接池数据源(Connection ...

    Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成

    Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。

    JDBC API教程与参考手册part3

    本书提供了JDBCTMAPI的权威教程与参考·~JDBCAPI技术支持使用JavaTM编程语言进行通用数据访问,该版本进行了更新和扩展,覆盖整个JDBC 3.0API的内容,包括。iava.sql包和易于构建服务器端应用程序的javax.sql包。 ...

    Java JDBC Sql Server 驱动 Jar包 Java7,8

    该驱动程序是 Type 4 JDBC 驱动程序,通过标准 JDBC 应用程序编程接口 (API) 提供数据库连接。 已针对大多数应用程序服务器(如 IBM WebSphere 和 SAP NetWeaver)对 Microsoft SQL Server JDBC 驱动程序进行了测试...

    JDBC API教程与参考手册part4

    本书提供了JDBCTMAPI的权威教程与参考·~JDBCAPI技术支持使用JavaTM编程语言进行通用数据访问,该版本进行了更新和扩展,覆盖整个JDBC 3.0API的内容,包括。iava.sql包和易于构建服务器端应用程序的javax.sql包。 ...

    SQL JDBC 4

    SQL Server JDBC Driver ,这是一个 JDBC 驱动程序,它通过 Java Platform中可用的标准 JDBC 应用程序编程接口 (API) 提供数据库连接。

    JDBC API教程与参考手册part2

    本书提供了JDBCTMAPI的权威教程与参考·~JDBCAPI技术支持使用JavaTM编程语言进行通用数据访问,该版本进行了更新和扩展,覆盖整个JDBC 3.0API的内容,包括。iava.sql包和易于构建服务器端应用程序的javax.sql包。 ...

    MICROSOFT SQL SERVER 2005 JDBC DRIVER

    Microsoft SQL Server 2005 JDBC Driver 1.1,这是一种 Type 4 JDBC 驱动程序,可通过 J2EE(Java2 企业版)中的标准 JDBC 应用程序编程接口 (API) 提供数据库链接

    eclipse项目jdbc实例

    本项目在eclipse下开发,使用java标准MVC模型编程,并且使用jdbc连接数据库,是很好的学习资料

    SQL Server JDBC Driver 2.0

    这是一个 Type 4 JDBC 驱动程序,它通过 Java Platform, Enterprise Edition 5 中可用的标准 JDBC 应用程序编程接口 (API) 提供数据库连接。 此版本的 JDBC 驱动程序与 JDBC 4.0 兼容,并在 Java 开发工具包 (JDK) ...

    MICROSOFT SQL SERVER JDBC DRIVER 2.0

    MICROSOFT SQL SERVER JDBC DRIVER 2.0 所有 SQL Server 用户都可以免费下载...这是一个 Type 4 JDBC 驱动程序,它通过 Java Platform, Enterprise Edition 5 中可用的标准 JDBC 应用程序编程接口 (API) 提供数据库连接

Global site tag (gtag.js) - Google Analytics