Search in sources :

Example 1 with Person

use of sqlite.feature.javadoc.Person in project kripton by xcesco.

the class SelectRawPersonDaoImpl method selectAllBeans.

/**
 * <h2>Select SQL:</h2>
 *
 * <pre>SELECT id, person_name, person_surname, student FROM person</pre>
 *
 * <h2>Projected columns:</h2>
 * <dl>
 * 	<dt>id</dt><dd>is associated to bean's property <strong>id</strong></dd>
 * 	<dt>person_name</dt><dd>is associated to bean's property <strong>personName</strong></dd>
 * 	<dt>person_surname</dt><dd>is associated to bean's property <strong>personSurname</strong></dd>
 * 	<dt>student</dt><dd>is associated to bean's property <strong>student</strong></dd>
 * </dl>
 *
 * @return collection of bean or empty collection.
 */
@Override
public List<Person> selectAllBeans() {
    KriptonContentValues _contentValues = contentValues();
    // query SQL is statically defined
    String _sql = SELECT_ALL_BEANS_SQL1;
    // add where arguments
    String[] _sqlArgs = _contentValues.whereArgsAsArray();
    // log section BEGIN
    if (_context.isLogEnabled()) {
        // manage log
        Logger.info(_sql);
        // log for where parameters -- BEGIN
        int _whereParamCounter = 0;
        for (String _whereParamItem : _contentValues.whereArgs()) {
            Logger.info("==> param%s: '%s'", (_whereParamCounter++), StringUtils.checkSize(_whereParamItem));
        }
    // log for where parameters -- END
    }
    // log section END
    try (Cursor _cursor = database().rawQuery(_sql, _sqlArgs)) {
        // log section BEGIN
        if (_context.isLogEnabled()) {
            Logger.info("Rows found: %s", _cursor.getCount());
        }
        // log section END
        ArrayList<Person> resultList = new ArrayList<Person>(_cursor.getCount());
        Person resultBean = null;
        if (_cursor.moveToFirst()) {
            int index0 = _cursor.getColumnIndex("id");
            int index1 = _cursor.getColumnIndex("person_name");
            int index2 = _cursor.getColumnIndex("person_surname");
            int index3 = _cursor.getColumnIndex("student");
            do {
                resultBean = new Person();
                resultBean.id = _cursor.getLong(index0);
                if (!_cursor.isNull(index1)) {
                    resultBean.setPersonName(_cursor.getString(index1));
                }
                if (!_cursor.isNull(index2)) {
                    resultBean.setPersonSurname(_cursor.getString(index2));
                }
                if (!_cursor.isNull(index3)) {
                    resultBean.setStudent(_cursor.getInt(index3) == 0 ? false : true);
                }
                resultList.add(resultBean);
            } while (_cursor.moveToNext());
        }
        return resultList;
    }
}
Also used : KriptonContentValues(com.abubusoft.kripton.android.sqlite.KriptonContentValues) ArrayList(java.util.ArrayList) Cursor(android.database.Cursor) Person(sqlite.feature.javadoc.Person)

Example 2 with Person

use of sqlite.feature.javadoc.Person in project kripton by xcesco.

the class SelectRawPersonDaoImpl method selectWithJQL.

/**
 * <h2>Select SQL:</h2>
 *
 * <pre>select * from person where id=${id}</pre>
 *
 * <h2>Projected columns:</h2>
 * <dl>
 * 	<dt>id</dt><dd>is associated to bean's property <strong>id</strong></dd>
 * 	<dt>person_name</dt><dd>is associated to bean's property <strong>personName</strong></dd>
 * 	<dt>person_surname</dt><dd>is associated to bean's property <strong>personSurname</strong></dd>
 * 	<dt>student</dt><dd>is associated to bean's property <strong>student</strong></dd>
 * </dl>
 *
 * <h2>Query's parameters:</h2>
 * <dl>
 * 	<dt>${id}</dt><dd>is binded to method's parameter <strong>id</strong></dd>
 * </dl>
 *
 * @param id
 * 	is binded to <code>${id}</code>
 * @return selected bean or <code>null</code>.
 */
@Override
public Person selectWithJQL(long id) {
    KriptonContentValues _contentValues = contentValues();
    // query SQL is statically defined
    String _sql = SELECT_WITH_J_Q_L_SQL4;
    // add where arguments
    _contentValues.addWhereArgs(String.valueOf(id));
    String[] _sqlArgs = _contentValues.whereArgsAsArray();
    // log section BEGIN
    if (_context.isLogEnabled()) {
        // manage log
        Logger.info(_sql);
        // log for where parameters -- BEGIN
        int _whereParamCounter = 0;
        for (String _whereParamItem : _contentValues.whereArgs()) {
            Logger.info("==> param%s: '%s'", (_whereParamCounter++), StringUtils.checkSize(_whereParamItem));
        }
    // log for where parameters -- END
    }
    // log section END
    try (Cursor _cursor = database().rawQuery(_sql, _sqlArgs)) {
        // log section BEGIN
        if (_context.isLogEnabled()) {
            Logger.info("Rows found: %s", _cursor.getCount());
        }
        // log section END
        Person resultBean = null;
        if (_cursor.moveToFirst()) {
            int index0 = _cursor.getColumnIndex("id");
            int index1 = _cursor.getColumnIndex("person_name");
            int index2 = _cursor.getColumnIndex("person_surname");
            int index3 = _cursor.getColumnIndex("student");
            resultBean = new Person();
            resultBean.id = _cursor.getLong(index0);
            if (!_cursor.isNull(index1)) {
                resultBean.setPersonName(_cursor.getString(index1));
            }
            if (!_cursor.isNull(index2)) {
                resultBean.setPersonSurname(_cursor.getString(index2));
            }
            if (!_cursor.isNull(index3)) {
                resultBean.setStudent(_cursor.getInt(index3) == 0 ? false : true);
            }
        }
        return resultBean;
    }
}
Also used : KriptonContentValues(com.abubusoft.kripton.android.sqlite.KriptonContentValues) Cursor(android.database.Cursor) Person(sqlite.feature.javadoc.Person)

Example 3 with Person

use of sqlite.feature.javadoc.Person in project kripton by xcesco.

the class SelectRawPersonDaoImpl method selectOneBeanWithDynamicAndArgs.

/**
 * <h2>Select SQL:</h2>
 *
 * <pre>SELECT id, person_name, person_surname, student FROM person WHERE id=${id} and person_name=${name} AND #{DYNAMIC_WHERE}</pre>
 *
 * <h2>Projected columns:</h2>
 * <dl>
 * 	<dt>id</dt><dd>is associated to bean's property <strong>id</strong></dd>
 * 	<dt>person_name</dt><dd>is associated to bean's property <strong>personName</strong></dd>
 * 	<dt>person_surname</dt><dd>is associated to bean's property <strong>personSurname</strong></dd>
 * 	<dt>student</dt><dd>is associated to bean's property <strong>student</strong></dd>
 * </dl>
 *
 * <h2>Method's parameters and associated dynamic parts:</h2>
 * <dl>
 * <dt>where</dt><dd>is part of where conditions resolved at runtime. In above SQL it is displayed as #{DYNAMIC_WHERE}</dd>
 * </dl>
 *
 * <h2>Query's parameters:</h2>
 * <dl>
 * 	<dt>${id}</dt><dd>is binded to method's parameter <strong>id</strong></dd>
 * 	<dt>${name}</dt><dd>is binded to method's parameter <strong>name</strong></dd>
 * </dl>
 *
 * @param id
 * 	is binded to <code>${id}</code>
 * @param name
 * 	is binded to <code>${name}</code>
 * @param where
 * 	is used as <strong>dynamic WHERE statement</strong> and it is formatted by ({@link StringUtils#format})
 * @param args
 * 	is binded to <code>${args}</code>
 * @return selected bean or <code>null</code>.
 */
@Override
public Person selectOneBeanWithDynamicAndArgs(long id, String name, String where, String[] args) {
    KriptonContentValues _contentValues = contentValues();
    StringBuilder _sqlBuilder = sqlBuilder();
    _sqlBuilder.append("SELECT id, person_name, person_surname, student FROM person");
    // generation CODE_001 -- BEGIN
    // initialize dynamic where
    String _sqlDynamicWhere = where;
    // initialize dynamic where args
    String[] _sqlDynamicWhereArgs = args;
    // generation CODE_001 -- END
    // manage WHERE arguments -- BEGIN
    // manage WHERE statement
    String _sqlWhereStatement = " WHERE id=? and person_name=?" + StringUtils.ifNotEmptyAppend(_sqlDynamicWhere, " AND ");
    _sqlBuilder.append(_sqlWhereStatement);
    // manage WHERE arguments -- END
    if (StringUtils.hasText(_sqlDynamicWhere) && _sqlDynamicWhereArgs != null) {
        for (String _arg : _sqlDynamicWhereArgs) {
            _contentValues.addWhereArgs(_arg);
        }
    }
    String _sql = _sqlBuilder.toString();
    // add where arguments
    _contentValues.addWhereArgs(String.valueOf(id));
    _contentValues.addWhereArgs((name == null ? "" : name));
    String[] _sqlArgs = _contentValues.whereArgsAsArray();
    // log section BEGIN
    if (_context.isLogEnabled()) {
        // manage log
        Logger.info(_sql);
        // log for where parameters -- BEGIN
        int _whereParamCounter = 0;
        for (String _whereParamItem : _contentValues.whereArgs()) {
            Logger.info("==> param%s: '%s'", (_whereParamCounter++), StringUtils.checkSize(_whereParamItem));
        }
    // log for where parameters -- END
    }
    // log section END
    try (Cursor _cursor = database().rawQuery(_sql, _sqlArgs)) {
        // log section BEGIN
        if (_context.isLogEnabled()) {
            Logger.info("Rows found: %s", _cursor.getCount());
        }
        // log section END
        Person resultBean = null;
        if (_cursor.moveToFirst()) {
            int index0 = _cursor.getColumnIndex("id");
            int index1 = _cursor.getColumnIndex("person_name");
            int index2 = _cursor.getColumnIndex("person_surname");
            int index3 = _cursor.getColumnIndex("student");
            resultBean = new Person();
            resultBean.id = _cursor.getLong(index0);
            if (!_cursor.isNull(index1)) {
                resultBean.setPersonName(_cursor.getString(index1));
            }
            if (!_cursor.isNull(index2)) {
                resultBean.setPersonSurname(_cursor.getString(index2));
            }
            if (!_cursor.isNull(index3)) {
                resultBean.setStudent(_cursor.getInt(index3) == 0 ? false : true);
            }
        }
        return resultBean;
    }
}
Also used : KriptonContentValues(com.abubusoft.kripton.android.sqlite.KriptonContentValues) Cursor(android.database.Cursor) Person(sqlite.feature.javadoc.Person)

Example 4 with Person

use of sqlite.feature.javadoc.Person in project kripton by xcesco.

the class SelectBeanPersonDaoImpl method selectOneBeanWithDynamicAndArgs.

/**
 * <h2>Select SQL:</h2>
 *
 * <pre>SELECT id, person_name, person_surname, student FROM person WHERE id=${bean.id} AND #{DYNAMIC_WHERE}</pre>
 *
 * <h2>Projected columns:</h2>
 * <dl>
 * 	<dt>id</dt><dd>is associated to bean's property <strong>id</strong></dd>
 * 	<dt>person_name</dt><dd>is associated to bean's property <strong>personName</strong></dd>
 * 	<dt>person_surname</dt><dd>is associated to bean's property <strong>personSurname</strong></dd>
 * 	<dt>student</dt><dd>is associated to bean's property <strong>student</strong></dd>
 * </dl>
 *
 * <h2>Method's parameters and associated dynamic parts:</h2>
 * <dl>
 * <dt>where</dt><dd>is part of where conditions resolved at runtime. In above SQL it is displayed as #{DYNAMIC_WHERE}</dd>
 * </dl>
 *
 * <h2>Query's parameters:</h2>
 * <dl>
 * 	<dt>${bean.id}</dt><dd>is binded to method's parameter <strong>bean.id</strong></dd>
 * </dl>
 *
 * @param bean
 * 	is used as ${bean}
 * @param where
 * 	is used as <strong>dynamic WHERE statement</strong> and it is formatted by ({@link StringUtils#format})
 * @param args
 * 	is binded to <code>${args}</code>
 * @return selected bean or <code>null</code>.
 */
@Override
public Person selectOneBeanWithDynamicAndArgs(Person bean, String where, String[] args) {
    KriptonContentValues _contentValues = contentValues();
    StringBuilder _sqlBuilder = sqlBuilder();
    _sqlBuilder.append("SELECT id, person_name, person_surname, student FROM person");
    // generation CODE_001 -- BEGIN
    // initialize dynamic where
    String _sqlDynamicWhere = where;
    // initialize dynamic where args
    String[] _sqlDynamicWhereArgs = args;
    // generation CODE_001 -- END
    // manage WHERE arguments -- BEGIN
    // manage WHERE statement
    String _sqlWhereStatement = " WHERE id=?" + StringUtils.ifNotEmptyAppend(_sqlDynamicWhere, " AND ");
    _sqlBuilder.append(_sqlWhereStatement);
    // manage WHERE arguments -- END
    if (StringUtils.hasText(_sqlDynamicWhere) && _sqlDynamicWhereArgs != null) {
        for (String _arg : _sqlDynamicWhereArgs) {
            _contentValues.addWhereArgs(_arg);
        }
    }
    String _sql = _sqlBuilder.toString();
    // add where arguments
    _contentValues.addWhereArgs(String.valueOf(bean.id));
    String[] _sqlArgs = _contentValues.whereArgsAsArray();
    // log section BEGIN
    if (_context.isLogEnabled()) {
        // manage log
        Logger.info(_sql);
        // log for where parameters -- BEGIN
        int _whereParamCounter = 0;
        for (String _whereParamItem : _contentValues.whereArgs()) {
            Logger.info("==> param%s: '%s'", (_whereParamCounter++), StringUtils.checkSize(_whereParamItem));
        }
    // log for where parameters -- END
    }
    // log section END
    try (Cursor _cursor = database().rawQuery(_sql, _sqlArgs)) {
        // log section BEGIN
        if (_context.isLogEnabled()) {
            Logger.info("Rows found: %s", _cursor.getCount());
        }
        // log section END
        Person resultBean = null;
        if (_cursor.moveToFirst()) {
            int index0 = _cursor.getColumnIndex("id");
            int index1 = _cursor.getColumnIndex("person_name");
            int index2 = _cursor.getColumnIndex("person_surname");
            int index3 = _cursor.getColumnIndex("student");
            resultBean = new Person();
            resultBean.id = _cursor.getLong(index0);
            if (!_cursor.isNull(index1)) {
                resultBean.setPersonName(_cursor.getString(index1));
            }
            if (!_cursor.isNull(index2)) {
                resultBean.setPersonSurname(_cursor.getString(index2));
            }
            if (!_cursor.isNull(index3)) {
                resultBean.setStudent(_cursor.getInt(index3) == 0 ? false : true);
            }
        }
        return resultBean;
    }
}
Also used : KriptonContentValues(com.abubusoft.kripton.android.sqlite.KriptonContentValues) Cursor(android.database.Cursor) Person(sqlite.feature.javadoc.Person)

Example 5 with Person

use of sqlite.feature.javadoc.Person in project kripton by xcesco.

the class SelectBeanPersonDaoImpl method selectOneBean.

/**
 * <h2>Select SQL:</h2>
 *
 * <pre>SELECT id, person_name, person_surname, student FROM person WHERE id=${bean.id}</pre>
 *
 * <h2>Projected columns:</h2>
 * <dl>
 * 	<dt>id</dt><dd>is associated to bean's property <strong>id</strong></dd>
 * 	<dt>person_name</dt><dd>is associated to bean's property <strong>personName</strong></dd>
 * 	<dt>person_surname</dt><dd>is associated to bean's property <strong>personSurname</strong></dd>
 * 	<dt>student</dt><dd>is associated to bean's property <strong>student</strong></dd>
 * </dl>
 *
 * <h2>Query's parameters:</h2>
 * <dl>
 * 	<dt>${bean.id}</dt><dd>is binded to method's parameter <strong>benza.id</strong></dd>
 * </dl>
 *
 * @param benza
 * 	is used as ${bean}
 * @return selected bean or <code>null</code>.
 */
@Override
public Person selectOneBean(Person benza) {
    KriptonContentValues _contentValues = contentValues();
    // query SQL is statically defined
    String _sql = SELECT_ONE_BEAN_SQL3;
    // add where arguments
    _contentValues.addWhereArgs(String.valueOf(benza.id));
    String[] _sqlArgs = _contentValues.whereArgsAsArray();
    // log section BEGIN
    if (_context.isLogEnabled()) {
        // manage log
        Logger.info(_sql);
        // log for where parameters -- BEGIN
        int _whereParamCounter = 0;
        for (String _whereParamItem : _contentValues.whereArgs()) {
            Logger.info("==> param%s: '%s'", (_whereParamCounter++), StringUtils.checkSize(_whereParamItem));
        }
    // log for where parameters -- END
    }
    // log section END
    try (Cursor _cursor = database().rawQuery(_sql, _sqlArgs)) {
        // log section BEGIN
        if (_context.isLogEnabled()) {
            Logger.info("Rows found: %s", _cursor.getCount());
        }
        // log section END
        Person resultBean = null;
        if (_cursor.moveToFirst()) {
            int index0 = _cursor.getColumnIndex("id");
            int index1 = _cursor.getColumnIndex("person_name");
            int index2 = _cursor.getColumnIndex("person_surname");
            int index3 = _cursor.getColumnIndex("student");
            resultBean = new Person();
            resultBean.id = _cursor.getLong(index0);
            if (!_cursor.isNull(index1)) {
                resultBean.setPersonName(_cursor.getString(index1));
            }
            if (!_cursor.isNull(index2)) {
                resultBean.setPersonSurname(_cursor.getString(index2));
            }
            if (!_cursor.isNull(index3)) {
                resultBean.setStudent(_cursor.getInt(index3) == 0 ? false : true);
            }
        }
        return resultBean;
    }
}
Also used : KriptonContentValues(com.abubusoft.kripton.android.sqlite.KriptonContentValues) Cursor(android.database.Cursor) Person(sqlite.feature.javadoc.Person)

Aggregations

Cursor (android.database.Cursor)15 KriptonContentValues (com.abubusoft.kripton.android.sqlite.KriptonContentValues)15 Person (sqlite.feature.javadoc.Person)15 ArrayList (java.util.ArrayList)2