java 从数据库取出数据并保存到本地文本中

java 从数据库取出数据并保存到本地文本中,第1张

先看数据库表, 我里面有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

大致应该是这样


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13345407.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-18
下一篇 2023-07-18

发表评论

登录后才能评论

评论列表(0条)

保存