Newer
Older
irisDatabase / src / com / casic / birmm / UpdatePersonIrisDataFromSQLServer.java
TAN YUE on 9 Oct 2020 3 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 org.apache.log4j.Logger;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;

public class UpdatePersonIrisDataFromSQLServer {

    public static void main(String[] args) {
        Connection conn = null;
        Connection mysqlConn = null;
        Logger logger = Logger.getLogger(UpdatePersonIrisDataFromSQLServer.class.getName());

        String queryStr = "SELECT LIrisCodeData, LIrisCodeData2, LIrisCodeData3, RIrisCodeData, RIrisCodeData2, RIrisCodeData3 " +
                          "FROM dbo.person WHERE IId = 839";

        String updateStr = "UPDATE IRIS_DATA SET LEFT_IRIS_CODE1=?, LEFT_IRIS_CODE2=?, LEFT_IRIS_CODE3=?, " +
                           "RIGHT_IRIS_CODE1=?, RIGHT_IRIS_CODE2=?, RIGHT_IRIS_CODE3=? " +
                           "WHERE PERSON_ID=1210930803566186496";

        try {
            conn = ConnectionManager.getSQLServerConnectionFromC3P0();
            conn.setAutoCommit(false);

            mysqlConn = ConnectionManager.getMySQLConnectionFromC3P0();
            mysqlConn.setAutoCommit(false);

            QueryRunner runner = new QueryRunner();
            List<Object[]> tempList = (List<Object[]>) runner.query(conn, queryStr, new ArrayListHandler());

            System.out.println(tempList.size());
            for (int i = 0; i < tempList.size(); i++) {
                Object[] person = tempList.get(i);

                String leftIris1 = "";
                if (person[0] != null) {
                    leftIris1 = ByteUtil.binToHexString((byte[]) person[0]);
                }
                logger.info("left1: " + leftIris1);

                String leftIris2 = "";
                if (person[1] != null) {
                    leftIris2 = ByteUtil.binToHexString((byte[]) person[1]);
                }
                logger.info("left2: " + leftIris2);

                String leftIris3 = "";
                if (person[2] != null) {
                    leftIris3 = ByteUtil.binToHexString((byte[]) person[2]);
                }
                logger.info("left3: " + leftIris3);

                String rightIris1 = "";
                if (person[3] != null) {
                    rightIris1 = ByteUtil.binToHexString((byte[]) person[3]);
                }
                logger.info("right1: " + rightIris1);

                String rightIris2 = "";
                if (person[4] != null) {
                    rightIris2 = ByteUtil.binToHexString((byte[]) person[4]);
                }
                logger.info("right2: " + rightIris2);

                String rightIris3 = "";
                if (person[5] != null) {
                    rightIris3 = ByteUtil.binToHexString((byte[]) person[5]);
                }
                logger.info("right3: " + rightIris3);

                // 更新iris_data表
                Object[] updateIrisParams = new Object[6];
                updateIrisParams[0] = (byte[]) person[0];
                updateIrisParams[1] = (byte[]) person[1];
                updateIrisParams[2] = (byte[]) person[2];
                updateIrisParams[3] = (byte[]) person[3];
                updateIrisParams[4] = (byte[]) person[4];
                updateIrisParams[5] = (byte[]) person[5];
                runner.update(mysqlConn, updateStr, updateIrisParams);

                logger.info("\n");
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        finally {
            try {
                DbUtils.commitAndClose(mysqlConn);
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}