java 连接SQL2008(查询、插入、调用存储过程)
2015-04-01 16:51
288 查看
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();
}
}
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();
}
}
相关文章推荐
- java jdbc连接各种数据库的方式大全 批量插入 存储过程调用
- 使用java连接mysql数据库进行数据的查询插入更新及删除
- java连接mysql-查询,插入,更新,删除
- Java连接各种数据库以及调用存储过程
- Java中 jdbc 调用存储过程 用hibernate连接数据库
- java调用简单的存储过程--查询,修改,删除
- 用C#调用存储过程返回结果集 & 连接查询结果的union
- java封装openTsDb连接以及查询,插入数据
- clob字段的值插入和查询N种方法【包括java调用存储过程传入clob参数】
- Java连接HBASE数据库,创建一个表,删除一张表,修改表,输出插入,修改,数据删除,数据获取,显示表信息,过滤查询,分页查询,地理hash
- java-oop 连接sql数据库的方法和如何调用存储过程以及jdbc事物
- Oracle数据库中调用Java类开发存储过程、函数的方法
- 用Java实现向Cassandra数据库中插入和查询数据
- 在java语言中调用存储过程
- java解析纯真IP数据库,查询IP,导出所有数据,插入oracle
- MongoDB java api for 插入和单collection基本查询使用示例
- Java Jdbc 连接 Oracle 执行简单查询示例
- oralce用存储过程实现分页 以及 用java调用这个存储过程的代码
- 实例:java调用存储过程
- mysql 中调用存储过程之后,连接断开不可用