使用java向mysql保存图片路径

最近有一个项目有一个新需求,就是将好多图片的路径链接保存到mysql数据库中,一个一个手动保存是不存在的,于是用java写了个程序来实现
  • 测试图片:
    在这里插入图片描述
  • 数据库里建的表(随意建的):
    在这里插入图片描述
  • 代码:

    • DataBase.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()中的文件夹路径换成自己的路径、以及保存进数据库中图片名字前面的路径就好了

最后效果:
在这里插入图片描述

打完收工

猜你喜欢

转载自blog.csdn.net/qq_40731976/article/details/100035311