先看数据库表, 我里面有46条记录,其中有三条重复,我就拿其中一条emp_id 为"
DWR65030M" 做例子
java代码如下:
import javaioFile;import javaioFileNotFoundException;
import javaioFileWriter;
import javaioIOException;
import javaioPrintWriter;
import javasqlConnection;
import javasqlDriverManager;
import javasqlPreparedStatement;
import javasqlResultSet;
import javasqlSQLException;
/
java读取数据库内容并存放到文件中
@author young
/
public class JavaToSQLTest {
public static void main(String[] args) throws FileNotFoundException {
// // 关联文件
// File file = new File("F:\\workspace\\one\\testtxt");
// // java IO流和文件关联
// PrintWriter pw = new PrintWriter(file);
PrintWriter pw = null;
FileWriter fw = null;
// 定义数据库驱动
String driver = "commicrosoftsqlserverjdbcSQLServerDriver";
// 数据库连接URL
String url = "jdbc:sqlserver://localhost:1433;DatabaseName = soft";
Connection conn = null;
String id;
String fname, lname;
try {
// pwprintln("emp_id\t\tfname\t\tlname");
// pwprintln("------\t\t------\t\t------");
// 加载数据库驱动
ClassforName(driver);
// 创建数据库连接
conn = DriverManagergetConnection(url, "sa", "1234");
// 创建预编译SQL对象
PreparedStatement ps = conn
prepareStatement("select emp_id, fname, lname from emps");
// 执行SQL,获取结果集rs
ResultSet rs = psexecuteQuery();
// 处理结果集
while (rsnext()) {
id = rsgetString("emp_id");
fname = rsgetString("fname");
lname = rsgetString("lname");
String filename = id + "txt";
// 关联文件
File file = new File(filename);
if(!fileexists()){
// 判断文件不存在就new新文件,写数据
try {
filecreateNewFile();
// java IO流和文件关联
pw = new PrintWriter(file);
pwprint(id + "\t");
pwprint(fname + "\t\t");
pwprint(lname);
pwprintln();
pwflush();
} catch (IOException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}else{
// 判断文件存在,就以FileWriter文件追加的方式写文件
try {
fw = new FileWriter(filename,true);
fwwrite(id + "\t");
fwwrite(fname + "\t\t");
fwwrite(lname);
fwflush();
} catch (IOException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
eprintStackTrace();
Systemoutprintln("加载数据库失败");
Systemexit(1);
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
Systemoutprintln("数据库连接错误");
Systemexit(1);
} finally {
if (conn != null) {
try {
// 关闭数据库连接
connclose();
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
if (pw != null) {
// 关闭IO流
pwclose();
}
if(fw != null){
try {
fwclose();
} catch (IOException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
}
}
}
结果生成了43个txt文件 ,看
DWR65030Mtxt文件的内容如下:
里面有两条记录 ,实现了
一般都是这样的,就是在你服务器有一个专门放置的文件夹,然后数据库保存的是你服务器的路径。需要用的时候就去数据库里面取路径。得到路径以后你想怎么处理是你的事情了。
至于如何去数据库取路径这个就是简单的db *** 作。
加载驱动类:
ClassforName(DBDriver);
获取连接:
Connectionconn=(url,username,password);
创建 *** 作对象:
stmt=con(sql);
执行 *** 作:
ResultSetrs=stmt();
遍历结果:
Listlist=newArrayList();
while(rsnext()){
//具体 *** 作,通常用rsgetString(name)取值
Imageimg=newImage();//类对应你数据库中表格
imgsetSrc(rsgetString("src"));//假设你数据库中image表中地址字段是src
listadd(img);
}
记得关闭资源:
rsclose();
stmtclose();
conclose();
看你的意思是已经取出来了不知道怎么显示:
你取出来之后可以把放在一个list里面然后去页面上遍历这个list
大致应该是这样
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)