数据库连接工具类:

`

// class MyConnection

// 创建4个常量(数据库连接地址,数据库驱动类地址,数据库登录权限名,登录密码)

private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";

private static final String URL = "jdbc:oracle:thin:[@127.0.0.1](https://my.oschina.net/u/567043):1521:xe";

private static final String UNAME = "nct";

private static final String UPWD = "123456";

public static Connection getORACLEConnection() {

Connection conn = null;

try {

Class.forName(DRIVER);

conn = DriverManager.getConnection(URL, UNAME, UPWD);

} catch (ClassNotFoundException | SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return conn;

}

`

public static void colseAll(ResultSet rs, PreparedStatement pstmt, Statement stmt, Connection conn) {

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 != stmt) {

try {

stmt.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();

}

}

}`

DEMO

`

public static void insertImg() {

Connection conn = MyConnection.getORACLEConnection();

String sql = "INSERT INTO T_IMG(ID,IMG) VALUES('123461',empty_blob())";

String sql2 = "SELECT ID,IMG FROM T_IMG WHERE ID = '123461' FOR UPDATE";

String sql3 = "UPDATE T_IMG SET IMG = ? WHERE ID = '123461'";

PreparedStatement ps = null;

ResultSet rs = null;

try {

conn.setAutoCommit(false);

ps = conn.prepareStatement(sql);

int b = ps.executeUpdate();

if (b>0) {

rs = ps.executeQuery(sql2);

while(rs.next()) {

// 得到java.sql.Blob对象后强制转换为oracle.sql.BLOB

oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob("IMG");

byte [] result = base64ToByte();

blob.setBytes(1,result);

ps = conn.prepareStatement(sql3);

ps.setBlob(1, blob);

int c = ps.executeUpdate();

if (c>0) {

System.out.println("执行成功");

}else {

System.out.println("执行失败");

}

}

}

conn.commit();

conn.setAutoCommit(true);

} catch (SQLException e) {

e.printStackTrace();

System.out.println("数据插入失败");

}finally {

MyConnection.colseAll(rs, ps, null, conn);

}

}

/**

* base64转blob

* [@param](https://my.oschina.net/u/2303379) str

* [@return](https://my.oschina.net/u/556800)

*/

public static byte[] base64ToByte() {

String str = "base64字符串";

BASE64Decoder decode = new BASE64Decoder();

byte[] b = null;

try {

b = decode.decodeBuffer(str);

} catch (IOException e) {

e.printStackTrace();

}

return b;

} `

T_IMG表结构

CREATE TABLE T_IMG ( ID VARCHAR2(32) NOT NULL, IMG BLOB, PRIMARY KEY (ID) ); COMMENT ON COLUMN T_IMG.ID IS '主键UUID'; COMMENT ON COLUMN T_IMG.IMG IS '头像';

jar包

ojdbc6-11.2.0.4.0-atlassian-hosted.jar

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐