package com.casic.birmm; import com.casic.birmm.util.ByteUtil; import com.casic.birmm.util.ConnectionManager; import org.apache.commons.dbutils.DbUtils; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.ArrayListHandler; import java.sql.Connection; import java.sql.SQLException; import java.util.Base64; import java.util.List; public class TransPersonPhotoBirmm { public static void main(String[] args) { Connection conn = null; String queryStr = "select id, photo_data from sys_person"; try { conn = ConnectionManager.getMySQLConnectionFromC3P0(); conn.setAutoCommit(false); QueryRunner runner = new QueryRunner(); List<Object[]> tempList = (List<Object[]>) runner.query(conn, queryStr, new ArrayListHandler()); for (int i = 0; i < tempList.size(); i++) { String insertStr = "insert into iris_person_photo (person_id, photo_data) values (?, ?)"; if (null == tempList.get(i)[1]) { continue; } Object[] params = new Object[2]; params[0] = tempList.get(i)[0]; String base64Str = Base64.getEncoder().encodeToString((byte[]) tempList.get(i)[1]); params[1] = "data:image/jpg;base64," + base64Str; int count = runner.update(conn, insertStr, params); System.out.println(count + " == " + params[0]); } } catch (Exception ex) { ex.printStackTrace(); } finally { try { DbUtils.commitAndClose(conn); } catch (SQLException e) { e.printStackTrace(); } } } }