package org.seasar.doma.internal.apt.dao;

/** */
@javax.annotation.Generated(value = { "Doma", "@VERSION@" }, date = "1970-01-01T09:00:00.000+0900")
public class NoConfigDaoExtendsDaoImpl extends org.seasar.doma.internal.apt.dao.NoConfigEmpDaoImpl implements org.seasar.doma.internal.apt.dao.NoConfigDaoExtendsDao {

    static {
        org.seasar.doma.internal.Artifact.validateVersion("@VERSION@");
    }

    private static final java.lang.reflect.Method __method1 = org.seasar.doma.internal.jdbc.dao.AbstractDao.__getDeclaredMethod(org.seasar.doma.internal.apt.dao.NoConfigDaoExtendsDao.class, "update2", example.entity.Emp.class);

    /** */
    public NoConfigDaoExtendsDaoImpl() {
        super(new org.seasar.doma.internal.apt.dao.MyConfig());
    }

    /**
     * @param config the configuration
     */
    protected NoConfigDaoExtendsDaoImpl(org.seasar.doma.jdbc.Config config) {
        super(config);
    }

    @Override
    public example.entity.Emp selectById(java.lang.Integer id, org.seasar.doma.jdbc.SelectOptions options) {
        entering("org.seasar.doma.internal.apt.dao.NoConfigDaoExtendsDaoImpl", "selectById", id, options);
        try {
            if (options == null) {
                throw new org.seasar.doma.DomaNullPointerException("options");
            }
            org.seasar.doma.internal.jdbc.query.SqlFileSelectQuery __query = new org.seasar.doma.internal.jdbc.query.SqlFileSelectQuery();
            __query.setConfig(config);
            __query.setSqlFilePath("META-INF/org/seasar/doma/internal/apt/dao/NoConfigDaoExtendsDao/selectById.sql");
            __query.setOptions(options);
            __query.addParameter("id", java.lang.Integer.class, id);
            __query.setCallerClassName("org.seasar.doma.internal.apt.dao.NoConfigDaoExtendsDaoImpl");
            __query.setCallerMethodName("selectById");
            __query.setResultEnsured(false);
            __query.setResultMappingEnsured(false);
            __query.setQueryTimeout(-1);
            __query.setMaxRows(-1);
            __query.setFetchSize(-1);
            __query.prepare();
            org.seasar.doma.internal.jdbc.command.SelectCommand<example.entity.Emp> __command = new org.seasar.doma.internal.jdbc.command.SelectCommand<example.entity.Emp>(__query, new org.seasar.doma.internal.jdbc.command.EntitySingleResultHandler<example.entity.Emp>(example.entity._Emp.getSingletonInternal()));
            example.entity.Emp __result = __command.execute();
            __query.complete();
            exiting("org.seasar.doma.internal.apt.dao.NoConfigDaoExtendsDaoImpl", "selectById", __result);
            return __result;
        } catch (java.lang.RuntimeException __e) {
            throwing("org.seasar.doma.internal.apt.dao.NoConfigDaoExtendsDaoImpl", "selectById", __e);
            throw __e;
        }
    }

    @Override
    public int update2(example.entity.Emp entity) {
        entering("org.seasar.doma.internal.apt.dao.NoConfigDaoExtendsDaoImpl", "update2", entity);
        try {
            if (entity == null) {
                throw new org.seasar.doma.DomaNullPointerException("entity");
            }
            org.seasar.doma.internal.jdbc.query.AutoUpdateQuery<example.entity.Emp> __query = new org.seasar.doma.internal.jdbc.query.AutoUpdateQuery<example.entity.Emp>(example.entity._Emp.getSingletonInternal());
            __query.setMethod(__method1);
            __query.setConfig(config);
            __query.setEntity(entity);
            __query.setCallerClassName("org.seasar.doma.internal.apt.dao.NoConfigDaoExtendsDaoImpl");
            __query.setCallerMethodName("update2");
            __query.setQueryTimeout(-1);
            __query.setNullExcluded(false);
            __query.setVersionIncluded(false);
            __query.setVersionIgnored(false);
            __query.setIncludedPropertyNames();
            __query.setExcludedPropertyNames();
            __query.setUnchangedPropertyIncluded(false);
            __query.setOptimisticLockExceptionSuppressed(false);
            __query.prepare();
            org.seasar.doma.internal.jdbc.command.UpdateCommand __command = new org.seasar.doma.internal.jdbc.command.UpdateCommand(__query);
            int __result = __command.execute();
            __query.complete();
            exiting("org.seasar.doma.internal.apt.dao.NoConfigDaoExtendsDaoImpl", "update2", __result);
            return __result;
        } catch (java.lang.RuntimeException __e) {
            throwing("org.seasar.doma.internal.apt.dao.NoConfigDaoExtendsDaoImpl", "update2", __e);
            throw __e;
        }
    }

}
