Search in sources :

Example 56 with DAOException

use of org.eweb4j.orm.dao.DAOException in project eweb4j-framework by laiweiwei.

the class UpdateDAOImpl method batchUpdate.

public <T> Number[] batchUpdate(T[] ts, String... fields) throws DAOException {
    Number[] ids = null;
    if (ts != null && ts.length > 0) {
        Connection con = null;
        ids = new Number[ts.length];
        try {
            con = ds.getConnection();
            Sql[] sqls = SqlFactory.getUpdateSql(ts).update(fields);
            List<Object[]> argList = new ArrayList<Object[]>(ts.length);
            for (Sql sql : sqls) {
                argList.add(sql.args.toArray());
            }
            Object[][] args = new Object[argList.size()][];
            for (int i = 0; i < argList.size(); i++) {
                args[i] = argList.get(i);
            }
            ids = JdbcUtil.batchUpdateWithArgs(con, sqls[0].sql, args);
        } catch (Exception e) {
            throw new DAOException("batchUpdate exception ", e);
        }
    }
    return ids;
}
Also used : DAOException(org.eweb4j.orm.dao.DAOException) Connection(java.sql.Connection) ArrayList(java.util.ArrayList) DAOException(org.eweb4j.orm.dao.DAOException) Sql(org.eweb4j.orm.sql.Sql)

Aggregations

DAOException (org.eweb4j.orm.dao.DAOException)56 Connection (java.sql.Connection)42 Sql (org.eweb4j.orm.sql.Sql)13 Method (java.lang.reflect.Method)9 ReflectUtil (org.eweb4j.util.ReflectUtil)9 Field (java.lang.reflect.Field)7 ArrayList (java.util.ArrayList)6 JoinColumn (javax.persistence.JoinColumn)6 JoinTable (javax.persistence.JoinTable)6 ManyToMany (javax.persistence.ManyToMany)3 ManyToOne (javax.persistence.ManyToOne)3 OneToMany (javax.persistence.OneToMany)3 Trans (org.eweb4j.orm.jdbc.transaction.Trans)3 Master (test.po.Master)3 List (java.util.List)2 OrderBy (javax.persistence.OrderBy)2 Pet (test.po.Pet)2 OneToOne (javax.persistence.OneToOne)1