package jbdc02;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class AddObject {
public static void main(String[] args) {
try {
//加载驱动
Class.forName(“oracle.jdbc.driver.OracleDriver”);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//建立连接
Connection conn=null;
//预缓存
PreparedStatement pstmt=null;
//创立结果集
ResultSet rs=null;
try {
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","a");
String sql="insert into YZY values(?,?,?,?,?)"; //问号代替你的字段 插入数据时需按顺序插入
pstmt=conn.prepareStatement(sql); // 第一个问号的值为1
pstmt.setObject(1,1001); //插入序号 (问号位置,你要插入的值)
pstmt.setObject(2, "wangzu"); //名字
pstmt.setObject(3, "zzy"); //账户名
pstmt.setObject(4, "a"); //账户密码
//插入图片
File file =new File("D:\\wzx.png"); //io流
InputStream in=new FileInputStream(file); //打开文件
byte [] bt= new byte[(int)file.length()]; //创建byte与文件等长数组 并且将数组强转为Int类型
in.read(bt); //读取文件
pstmt.setObject(5, bt); //插入文件
//执行更新操作 pstmt.executeUpdate() 方法执行成功返回1
int result=pstmt.executeUpdate();
if(result>0){
System.out.println("数据插入成功");
}else{
System.out.println("数据插入失败");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
//关闭文件 很重要 一定要关闭
if(null!=rs){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(null!=pstmt){
try {
pstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(null!=conn){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}