package db;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public
class BaseDao {
private
final
static
String driver=
"com.microsoft.sqlserver.jdbc.SQLServerDriver";
private
final
static
String url=
"jdbc:sqlserver://localhost:1433;databasename = czgc";
private
final
static
String userName=
"sa";
private
final
static
String pwd=
"123";
Connection con = null;
PreparedStatement pts = null;
/**
* 查找
*/
public
void find(){
try {
Class.forName(driver);
con = DriverManager.getConnection(url,userName,pwd);
String sql =
"{call proc_test_selectAll}";
CallableStatement cs = con.prepareCall(sql);
ResultSet rs =cs.executeQuery();
while(rs.next()){
System.out.println(rs.getString(1)+
"/t"+rs.getString(2)+
"/t"+rs.getString(3));
}
con.close();
}
catch (
Exception e) {
e.printStackTrace();
}
}
/**
* 添加
* @param name
* @param sex
* @param age
* @return
*/
public
int add(
String name,
String sex,
int age){
int rows = 0;
try{
Class.forName(driver);
con = DriverManager.getConnection(url,userName,pwd);
String sql =
"{call proc_test_add(?,?,?)}";
CallableStatement cs = con.prepareCall(sql);
cs.setString(1, name);
cs.setString(2, sex);
cs.setInt(3, age);
rows = cs.executeUpdate();
con.close();
}
catch (
Exception e1) {
e1.printStackTrace();
}
return rows;
}
public
static
void main(
String[] args) {
BaseDao d =
new BaseDao();
d.add(
"达尔",
"男", 30);
d.find();
}
}
数据库:
prepareCall(String sql); 功能:获得CallableStatement对象
sql表示调用存储过程的语句:其调用格式为:{call 存储过程名(?,?,?)}
if
exists (
select *
from sysobjects
where name =
'proc_test_selectAll')
drop proc proc_test_selectAll
go
create proc proc_test_selectAll
as
select *
from test
go
if
exists (
select *
from sysobjects
where name =
'proc_test_add')
drop proc proc_test_add
go
create proc proc_test_add
@name varchar(10),
@sex varchar(2),
@age int
as
insert
into test
values(@name,@sex,@age)
go