您的位置:首页 > 编程语言 > Java开发

Java使用JDBC将文本内容插入到数据库(七)

2017-08-23 11:51 381 查看
1.创建数据表

CREATE TABLE `tb_context` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`context` longtext,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;


2.向数据库插入文本内容和读取文本内容

package com.JDBC;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class testJDBCContext {
String url ="jdbc:mysql://localhost:3306/test";
String driver="com.mysql.jdbc.Driver";
String user = "root";
String password = "root";
Connection conn=null;
PreparedStatement ps=null;
ResultSet resultSet=null;
public void connectionDB(){

try {
Class.forName(driver);
conn = DriverManager.getConnection(url, user, password);
System.out.println("Successfully connected");
} catch (ClassNotFoundException e) {

e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

public void  WriteContextIntoDB(){
//1.将大文本插入到数据库,只需要读出 文本插入即可
String insertsql="insert into tb_context(context) value(?)";
try {
ps = conn.prepareStatement(insertsql);
File file = new File("E:\\1.txt");
FileReader fileReader = new FileReader(file);
//使用setCharacterStream()设置字符流
ps.setCharacterStream(1, fileReader,(int) file.length());
ps.executeUpdate();
System.out.println("成功向数据库插入文本 ");
} catch (SQLException e) {
System.out.println("SQLException");
e.printStackTrace();
} catch (FileNotFoundException e) {
System.out.println("FileNotFoundException ");
e.printStackTrace();
}

}

//2.从数据读出文本内在写到磁盘
public void  ReadContextFromDB(){

try {
String sql = "select*from tb_context where id=?";
ps = conn.prepareStatement(sql);
ps.setInt(1, 1);
ps.executeQuery();
resultSet = ps.getResultSet();

if (resultSet.next()) {
Reader reader = resultSet.getCharacterStream("context");
//写入到目标文件
FileWriter fileWriter = new FileWriter(new File(
"E:\\inputContext.txt"));
char[] buffer = new char[1024];
int len = 0;
while ((len = reader.read(buffer)) != -1) {
fileWriter.write(buffer, 0, len);
}
reader.close();
fileWriter.close();
}

} catch (SQLException e) {
System.out.println("SQLException");
e.printStackTrace();
} catch (IOException e) {
System.out.println("IOException");
e.printStackTrace();
}
}

public static void main(String[] args) throws SQLException {

testJDBCContext t = new testJDBCContext();
t.connectionDB();
t.WriteContextIntoDB();
t.ReadContextFromDB();
System.out.println("读取成功,请到E盘查看");

}
}


结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: