use of sqlite.feature.javadoc.Person in project kripton by xcesco.
the class SelectRawPersonDaoImpl method selectOneBeanWithDynamicOrderAndListener.
/**
* <h2>Select SQL:</h2>
*
* <pre>SELECT id, person_name, person_surname, student FROM person WHERE person_surname=${surname} ORDER BY #{DYNAMIC_ORDER_BY}</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>order</dt>is part of order statement resolved at runtime. In above SQL it is displayed as #{DYNAMIC_ORDER_BY}</dd>
* </dl>
*
* <h2>Query's parameters:</h2>
* <dl>
* <dt>${surname}</dt><dd>is binded to method's parameter <strong>surname</strong></dd>
* </dl>
*
* @param surname
* is binded to <code>${surname}</code>
* @param order
* is used as <strong>dynamic ORDER BY statement</strong> and it is formatted by ({@link StringUtils#format})
* @param listener
* is the Person listener
*/
@Override
public void selectOneBeanWithDynamicOrderAndListener(String surname, String order, OnReadBeanListener<Person> listener) {
KriptonContentValues _contentValues = contentValues();
StringBuilder _sqlBuilder = sqlBuilder();
_sqlBuilder.append("SELECT id, person_name, person_surname, student FROM person");
// generation CODE_001 -- BEGIN
// generation CODE_001 -- END
String _sortOrder = order;
// manage WHERE arguments -- BEGIN
// manage WHERE statement
String _sqlWhereStatement = " WHERE person_surname=?";
_sqlBuilder.append(_sqlWhereStatement);
// manage WHERE arguments -- END
// generation order - BEGIN
String _sqlOrderByStatement = StringUtils.ifNotEmptyAppend(_sortOrder, " ORDER BY ");
_sqlBuilder.append(_sqlOrderByStatement);
// generation order - END
String _sql = _sqlBuilder.toString();
// add where arguments
_contentValues.addWhereArgs((surname == null ? "" : surname));
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 = new Person();
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");
int rowCount = _cursor.getCount();
do {
// reset mapping
// id does not need reset
resultBean.setPersonName(null);
resultBean.setPersonSurname(null);
resultBean.setStudent(false);
// generate mapping
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);
}
listener.onRead(resultBean, _cursor.getPosition(), rowCount);
} while (_cursor.moveToNext());
}
}
}
use of sqlite.feature.javadoc.Person in project kripton by xcesco.
the class SelectBeanPersonDaoImpl method selectOneBeanWithDynamicOrderAndListener.
/**
* <h2>Select SQL:</h2>
*
* <pre>SELECT id, person_name, person_surname, student FROM person WHERE id=${bean.id} ORDER BY #{DYNAMIC_ORDER_BY}</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>order</dt>is part of order statement resolved at runtime. In above SQL it is displayed as #{DYNAMIC_ORDER_BY}</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 order
* is used as <strong>dynamic ORDER BY statement</strong> and it is formatted by ({@link StringUtils#format})
* @param listener
* is the Person listener
*/
@Override
public void selectOneBeanWithDynamicOrderAndListener(Person bean, String order, OnReadBeanListener<Person> listener) {
KriptonContentValues _contentValues = contentValues();
StringBuilder _sqlBuilder = sqlBuilder();
_sqlBuilder.append("SELECT id, person_name, person_surname, student FROM person");
// generation CODE_001 -- BEGIN
// generation CODE_001 -- END
String _sortOrder = order;
// manage WHERE arguments -- BEGIN
// manage WHERE statement
String _sqlWhereStatement = " WHERE id=?";
_sqlBuilder.append(_sqlWhereStatement);
// manage WHERE arguments -- END
// generation order - BEGIN
String _sqlOrderByStatement = StringUtils.ifNotEmptyAppend(_sortOrder, " ORDER BY ");
_sqlBuilder.append(_sqlOrderByStatement);
// generation order - END
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 = new Person();
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");
int rowCount = _cursor.getCount();
do {
// reset mapping
// id does not need reset
resultBean.setPersonName(null);
resultBean.setPersonSurname(null);
resultBean.setStudent(false);
// generate mapping
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);
}
listener.onRead(resultBean, _cursor.getPosition(), rowCount);
} while (_cursor.moveToNext());
}
}
}
use of sqlite.feature.javadoc.Person in project kripton by xcesco.
the class SelectBeanPersonDaoImpl method selectWithJQLAndInnerSQL.
/**
* <h2>Select SQL:</h2>
*
* <pre>select * from person where id=${bean.id} and id in (select id 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>
*
* <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}
* @return selected bean or <code>null</code>.
*/
@Override
public Person selectWithJQLAndInnerSQL(Person bean) {
KriptonContentValues _contentValues = contentValues();
// query SQL is statically defined
String _sql = SELECT_WITH_J_Q_L_AND_INNER_S_Q_L_SQL5;
// 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;
}
}
use of sqlite.feature.javadoc.Person in project kripton by xcesco.
the class SelectBeanPersonDaoImpl 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;
}
}
use of sqlite.feature.javadoc.Person in project kripton by xcesco.
the class SelectBeanPersonDaoImpl method selectOneBeanWithDynamic.
/**
* <h2>Select SQL:</h2>
*
* <pre>SELECT person_name FROM person WHERE id=${bean.id} AND #{DYNAMIC_WHERE}</pre>
*
* <h2>Projected columns:</h2>
* <dl>
* <dt>person_name</dt><dd>is associated to bean's property <strong>personname</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})
* @return selected bean or <code>null</code>.
*/
@Override
public Person selectOneBeanWithDynamic(Person bean, String where) {
KriptonContentValues _contentValues = contentValues();
StringBuilder _sqlBuilder = sqlBuilder();
_sqlBuilder.append("SELECT person_name FROM person");
// generation CODE_001 -- BEGIN
// initialize dynamic where
String _sqlDynamicWhere = where;
// 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
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("person_name");
resultBean = new Person();
if (!_cursor.isNull(index0)) {
resultBean.setPersonName(_cursor.getString(index0));
}
}
return resultBean;
}
}
Aggregations