package test;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import oracle.jdbc.driver.OracleTypes;
public class Plsql {
public static Connection con=null;
static{
String s="oracle.jdbc.driver.OracleDriver";
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String userName="test";
String password="test";
try {
Class.forName(s);
con=DriverManager.getConnection(url,userName,password);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
//insert();
//select();
//findPackage();
showdbms();
}
public static void select(){
try {
String sql="{?=call Tas()}";
CallableStatement cs= (CallableStatement)con.prepareCall(sql);
cs.registerOutParameter(1, OracleTypes.NUMBER);
cs.execute();
Double d=cs.getDouble(1);
System.out.println(d);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void showdbms(){
try {
String sql="{call hello()}";
CallableStatement cs= (CallableStatement)con.prepareCall(sql);
cs.execute();
Double d=cs.getDouble(1);
System.out.println(d);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void findPackage(){
try{
System.out.println("**********");
String sql="{call head.getMyNeed(?,?)}";
CallableStatement cs=(CallableStatement)con.prepareCall(sql);
cs.registerOutParameter(1, OracleTypes.VARCHAR);
cs.registerOutParameter(2, OracleTypes.NUMBER);
cs.execute();
System.out.println(cs.getString(1)+"3121312312312");
}catch (SQLException e) {
e.printStackTrace();
}
}
public static void insert(){
try {
String sql="{call HireNewEmployee(?,?,?,?,?,?,?,?)}";
CallableStatement cs= (CallableStatement)con.prepareCall(sql);
cs.setString(1, "3123121");
cs.setString(2, "项目");
cs.setString(3, "我晕死了");
cs.setString(4, "2312");
cs.setDate(5, null);
cs.setDouble(6, 32.0);
cs.setString(7, "有什么办法解决DATE");
cs.setString(8,"努力");
cs.execute();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}