最近有一个项目有一个新需求,就是将好多图片的路径链接保存到mysql数据库中,一个一个手动保存是不存在的,于是用java写了个程序来实现
package com.beyes;
import java.sql.*;
public class DataBase {
private Statement stmt = null;
ResultSet rs = null;
private Connection conn = null;
String sql;
String strurl = "jdbc:(####自己的数据库地址####)?useSSL=false";
public DataBase() {
}
/**
* 打开数据库连接
*/
public void OpenConn() throws Exception {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(strurl, "(####用户名####)", "(#####密码####)");
conn.setAutoCommit(false);
} catch (Exception e) {
System.err.println("OpenConn:" + e.getMessage());
e.printStackTrace();
}
}
/**
* 执行sql语句,返回结果集rs
*/
public ResultSet executeQuery(String sql) {
stmt = null;
rs = null;
try {
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
System.err.println("executeQuery:" + e.getMessage());
e.printStackTrace();
}
return rs;
}
/**
* 执行sql语句
*/
public int executeUpdate(String sql) {
stmt = null;
rs = null;
int k = 0;
try {
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
k = stmt.executeUpdate(sql);
conn.commit();
} catch (SQLException e) {
System.err.println("executeUpdate:" + e.getMessage());
e.printStackTrace();
}
return k;
}
public void closeStmt() {
try {
stmt.close();
} catch (SQLException e) {
System.err.println("closeStmt:" + e.getMessage());
}
}
/**
* 关闭数据库连接
*/
public void closeConn() {
try {
conn.close();
} catch (SQLException ex) {
System.err.println("aq.closeConn:" + ex.getMessage());
}
}
}
- UrlsBean.java:(向表里添加数据的类)
package com.beyes;
public class UrlsBean {
String url;
String sql;
public void addUrl(String url) {
DataBase DB = new DataBase();
this.url = url;
sql = "insert into urls(url) values ('"+url+"')";
try {
DB.OpenConn();
DB.executeUpdate(sql);
} catch (Exception e) {
System.out.println(e);} finally {
DB.closeStmt(); //关闭连接表对象
DB.closeConn();
}
}
}
- GetUrls.java:(为了图省事,就把运行方法也写进来了)
package com.beyes;
import java.io.File;
public class GetUrls {
/*
* 读取指定路径下的文件名
*/
public void getFileList(String fileUrl, String saveUrl) {
File file = new File(fileUrl);
File[] fileList = file.listFiles();
for (int i = 0; i < fileList.length; i++) {
if (fileList[i].isFile()) {
String fileName = fileList[i].getName();
String url = saveUrl+fileName;
UrlsBean UB = new UrlsBean();
UB.addUrl(url);
}
}
}
public static void main(String[] args) {
GetUrls GU = new GetUrls();
GU.getFileList("C:\\show0724","http://localhost:8080/");
}
}
只需要将getFileList()中的文件夹路径换成自己的路径、以及保存进数据库中图片名字前面的路径就好了
最后效果: