代码如下,都很简单,可自行看懂,所以注释很少
package com.imust.jdbc;
import java.io.Reader;
import java.sql.Clob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* 测试文本大对象的使用
* 包含:将字符串,文本内容插入到数据库中clob字段,将clob字段读出来的操作
* @author Zachary (为上帝所心仪的人)
* @date 2017年10月1日
* @project 测试jdbc
* @package com.imust.jdbc
*/
public class Demo09 {
public static void main(String[] args) throws Exception {
Connection conn = null;
java.sql.PreparedStatement pstl = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testjdbc", "root", "zzf540266546");
} catch (SQLException e) {
e.printStackTrace();
}
String sql = "insert into t_user (username,myInfo) values (?,?)";
pstl = conn.prepareStatement(sql);
//pstl.setString(1, "zzf");
//从d盘读出来放到数据库中
//pstl.setClob(2, new FileReader(new File("d:/a.text")));
//将程序中的字符串输入到数据库的clob中
//pstl.setClob(2, new BufferedReader(new InputStreamReader(new ByteArrayInputStream("asdffgghhhj".getBytes()))));
sql = "select * from t_user where id = ?";
pstl.setObject(1, 101024);
rs = pstl.executeQuery();
while(rs.next()){
Clob c = rs.getClob("myInfo");
Reader r = c.getCharacterStream();
int temp = 0;
while((temp = r.read()) != -1){
System.out.println((char)temp);
}
}
}
}