Newer
Older
irisDatabase / src / com / casic / birmm / TransPersonPhotoBirmm.java
TAN YUE on 9 Oct 2020 1 KB 20201008 初始建立
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();
            }
        }
    }
}