java 连接SQL2008(查询、插入、调用存储过程)

import java.sql.*;

import java.util.*;

public class SQL

{

private Connection conn;

private String connStr, sqlStr;

private String useName, passWord;

private PreparedStatement ps;

private ResultSet rs;

//    CallableStatement callProc

private StringBuffer strBuf = new StringBuffer();

public Connection getConnection()

{

try

{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 数据库驱动加载

} catch (ClassNotFoundException e)

{

System.out.println("数据库驱动加载失败!");

}

try

{

connStr = "jdbc:sqlserver://localhost:1433;DatabaseName=TMP"; // 定义连接数据库URL

useName = "sa";

passWord = "";

conn = DriverManager.getConnection(connStr, useName, passWord); // 连接数据库

if (conn != null)

System.out.println("数据库连接OK");

} catch (Exception e)

{

System.out.println("数据库连接失败");

}

return conn;

}

public void getData() // throws SQLException

{

strBuf.delete(0, strBuf.length());

sqlStr = "select * from TableA";

try

{

if (conn == null || conn.isClosed())

conn = getConnection();

} catch (SQLException e1)

{

e1.printStackTrace();

}

try

{

ps = conn.prepareStatement(sqlStr);

rs = ps.executeQuery();

while (rs.next())

{

// strBuf.append("1").append(rs.getString(1));

// strBuf.append("1:").append(rs.getString("A"));

strBuf.append(rs.getString("A")).append("--")

.append(rs.getString("B")).append("--")

.append(rs.getString("C")).append("--")

.append(rs.getString("D"));

strBuf.append("\r");

}

System.out.println(strBuf);

System.out.println("-----------------------");

} catch (SQLException e)

{

e.printStackTrace();

} finally

{

try

{

rs.close();

ps.close();

conn.close();

} catch (SQLException e)

{

e.printStackTrace();

}

}

}

public void insertData() //插入数据,删除、更新同理

{

strBuf.delete(0, strBuf.length());

sqlStr = "insert into TableA(B, C, D) values(?, ?, ?)";

try

{

if (conn == null || conn.isClosed())

conn = getConnection();

} catch (SQLException e1)

{

e1.printStackTrace();

}

try

{

ps = conn.prepareStatement(sqlStr);

ps.setString(1, "B10");

ps.setDouble(2, 10);

ps.setString(3, "D10");

ps.executeUpdate();

System.out.println("-----------------------");

} catch (Exception e)

{

e.printStackTrace();

} finally

{

try

{

rs.close();

ps.close();

conn.close();

} catch (SQLException e)

{

e.printStackTrace();

}

}

}

public void callProc()  //调用存储过程,有返回值

{

strBuf.delete(0, strBuf.length());

sqlStr = "";

try

{

if (conn == null || conn.isClosed())

{

conn = getConnection();

}

} catch (SQLException e)

{

e.printStackTrace();

}

try

{

CallableStatement callProc = conn.prepareCall("{call sp_TableA(?, ?)}");

callProc.setInt(1, 4);

callProc.registerOutParameter(2, java.sql.Types.VARCHAR);

callProc.execute();

System.out.println(callProc.getString(2));

System.out.println("-----------------------");

} catch (SQLException e)

{

e.printStackTrace();

}

}

public static void main(String[] args)

{

SQL sqlDemo = new SQL();

// sqlDemo.getConnection();

sqlDemo.getData();

sqlDemo.insertData();

sqlDemo.callProc();

}

}

时间: 2024-11-09 02:47:22

java 连接SQL2008(查询、插入、调用存储过程)的相关文章

openTSP连接sqlServer数据库&jpa调用存储过程

openTSP框架下的模块都是连接mysql数据库,近期青汽有连接sqlServer数据库的需求,在调研后配置了sqlServer数据库,使用jpa调用存储过程,中间也踩了不少坑,总结一下,避免大家再掉进去. 1.首先配置sqlServer的依赖 <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <version

java连接MongoDB查询导出为excel表格

背景 因为项目需求.每一个星期须要统计每一个公众号7天的訪问数,月底就须要统计一个月的訪问数,40多个公众号.每次手动统计都须要花费1个小时,总之是一项无技术耗时耗神的手工活. 于是.想写个程序来统计.每次仅仅须要执行下代码,输入一些配置信息就导出为excel表格,直接复制完事,可是水平有限.就仅仅用java写了个. demo下载 下载地址:http://download.csdn.net/detail/musuny/8769499 程序说明 依赖外部jar包 fastjson-1.1.36.j

Java操作Oracle数据库以及调用存储过程

操作Oracle数据库 publicclass DBConnection {     //jdbc:oracle:thin:@localhost:1521:orcl     publicstaticfinal String url = "jdbc:oracle:thin:@localhost:1521:ORCL";     publicstatic Connection conn ;         static{         //获取数据库驱动         try {    

Spring Data JPA调用存储过程实例

Spring Data JPA调用存储过程实例 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs JPA连接到数据库,调用存储过程,这样的需求很常见.本文就针对这一点,讲述如何使用Spring Data JPA调用存储过程的方法. 1.存储过程 假设存储过程如下: CREATE OR REPLACE PACKAGE test_pkg AS PROCEDURE in_only_test (inParam1 IN VARC

Mybatis学习总结(七)——调用存储过程

一.返回select结果集 1.创建存储过程 DELIMITER // DROP PROCEDURE IF EXISTS proc_queryUser; CREATE PROCEDURE proc_queryUser( IN user_name VARCHAR(50) CHARACTER SET utf8 ) BEGIN SET @exeSql = CONCAT('SELECT id,username,sex,birthday,address ', 'from t_user where user

toad调用存储过程,存储过程调用sql 类

1.定义一个sql 类Hello DROP JAVA SOURCE NEWXZXT."Hello"; CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED NEWXZXT."Hello" as import java.lang.*; public class Hello { public static String say(String args) { System.out.println(args); return arg

Java数据库连接——JDBC调用存储过程,事务管理和高级应用

阅读目录 一.JDBC常用的API深入详解及存储过程的调用1.存储过程(Stored Procedure)的介绍2.JDBC调用无参存储过程3.JDBC调用含输入参数存储过程4.JDBC调用含输出参数存储过程二.JDBC的事务管理1.JDBC实现事务管理2.通过代码实现事物的管理三.数据库连接池(dbcp.c3p0)1.dbcp使用步骤2.c3p0使用步骤3.连接池总结四.JDBC的替代产品(Hibernate.Mybatis)1.Commons-dbutils 2.Hibernate简介3.M

Java调用存储过程,你应该好好了解一下

存储过程是指保存在数据库并在数据库端执行的程序.你可以使用特殊的语法在Java类中调用存储过程.在调用时,存储过程的名称及指定的参数通过JDBC连接发送给DBMS,执行存储过程并通过连接(如果有)返回结果. 使用存储过程拥有和使用基于EJB或CORBA这样的应用服务器一样的好处.区别是存储过程可以从很多流行的DBMS中免费使用,而应用服务器大都非常昂贵.这并不只是许可证费用的问题.使用应用服务器所需要花费的管理.编写代码的费用,以及客户程序所增加的复杂性,都可以通过DBMS中的存储过程所整个地替

【转】java调用存储过程和函数

一.概述 如果想要执行存储过程,我们应该使用 CallableStatement 接口. CallableStatement 接口继承自PreparedStatement 接口.所以CallableStatement 接口包含有Statement 接口和PreparedStatement 接口定义的全部方法,但是并不是所有的方法我们都要使用,主要使用的方法有这样几个: CallableStatement 常用方法: 返回类型 方法签名 说明 boolean execute() 执行 SQL 语句