Search in sources :

Example 21 with Pojo

use of org.nutz.dao.sql.Pojo in project nutz by nutzam.

the class H2JdbcExpert method fetchPojoId.

public Pojo fetchPojoId(Entity<?> en, MappingField idField) {
    String autoSql = "SELECT IDENTITY() as $field from $view";
    Pojo autoInfo = new SqlFieldMacro(idField, autoSql);
    autoInfo.setEntity(en);
    return autoInfo;
}
Also used : Pojo(org.nutz.dao.sql.Pojo) SqlFieldMacro(org.nutz.dao.impl.entity.macro.SqlFieldMacro)

Example 22 with Pojo

use of org.nutz.dao.sql.Pojo in project nutz by nutzam.

the class SQLiteJdbcExpert method fetchPojoId.

public Pojo fetchPojoId(Entity<?> en, MappingField idField) {
    String autoSql = "SELECT MAX($field) AS $field FROM $view";
    Pojo autoInfo = new SqlFieldMacro(idField, autoSql);
    autoInfo.setEntity(en);
    return autoInfo;
}
Also used : Pojo(org.nutz.dao.sql.Pojo) SqlFieldMacro(org.nutz.dao.impl.entity.macro.SqlFieldMacro)

Example 23 with Pojo

use of org.nutz.dao.sql.Pojo in project nutz by nutzam.

the class DoClearLinkVisitor method visit.

public void visit(final Object obj, final LinkField lnk) {
    Pojo pojo = opt.maker().makeDelete(lnk.getLinkedEntity());
    pojo.append(Pojos.Items.cnd(lnk.createCondition(obj)));
    pojo.setOperatingObject(obj);
    opt.add(pojo);
}
Also used : Pojo(org.nutz.dao.sql.Pojo)

Example 24 with Pojo

use of org.nutz.dao.sql.Pojo in project nutz by nutzam.

the class DoClearRelationByHostFieldLinkVisitor method visit.

public void visit(Object obj, LinkField lnk) {
    if (lnk instanceof ManyManyLinkField) {
        final ManyManyLinkField mm = (ManyManyLinkField) lnk;
        final Pojo pojo = opt.maker().makeDelete(mm.getRelationName());
        pojo.append(Pojos.Items.cndColumn(mm.getFromColumnName(), mm.getHostField(), mm.getHostField().getValue(obj)));
        opt.add(pojo);
    }
}
Also used : Pojo(org.nutz.dao.sql.Pojo) ManyManyLinkField(org.nutz.dao.impl.entity.field.ManyManyLinkField)

Example 25 with Pojo

use of org.nutz.dao.sql.Pojo in project nutz by nutzam.

the class DoFetchLinkVisitor method visit.

public void visit(final Object obj, final LinkField lnk) {
    Pojo pojo = opt.maker().makeQuery(lnk.getLinkedEntity());
    pojo.setOperatingObject(obj);
    pojo.append(Pojos.Items.cnd(lnk.createCondition(obj)));
    pojo.setAfter(new PojoCallback() {

        public Object invoke(Connection conn, ResultSet rs, Pojo pojo, Statement stmt) throws SQLException {
            Object value = lnk.getCallback().invoke(conn, rs, pojo, stmt);
            lnk.setValue(obj, value);
            return value;
        }
    });
    opt.add(pojo);
}
Also used : PojoCallback(org.nutz.dao.sql.PojoCallback) Pojo(org.nutz.dao.sql.Pojo) SQLException(java.sql.SQLException) Statement(java.sql.Statement) Connection(java.sql.Connection) ResultSet(java.sql.ResultSet)

Aggregations

Pojo (org.nutz.dao.sql.Pojo)49 SqlFieldMacro (org.nutz.dao.impl.entity.macro.SqlFieldMacro)6 ExitLoop (org.nutz.lang.ExitLoop)5 LoopException (org.nutz.lang.LoopException)5 ManyManyLinkField (org.nutz.dao.impl.entity.field.ManyManyLinkField)4 ArrayList (java.util.ArrayList)3 Connection (java.sql.Connection)2 ResultSet (java.sql.ResultSet)2 SQLException (java.sql.SQLException)2 Statement (java.sql.Statement)2 Map (java.util.Map)2 DaoException (org.nutz.dao.DaoException)2 LinkField (org.nutz.dao.entity.LinkField)2 LinkVisitor (org.nutz.dao.entity.LinkVisitor)2 DoClearLinkVisitor (org.nutz.dao.impl.link.DoClearLinkVisitor)2 DoClearRelationByHostFieldLinkVisitor (org.nutz.dao.impl.link.DoClearRelationByHostFieldLinkVisitor)2 DoClearRelationByLinkedFieldLinkVisitor (org.nutz.dao.impl.link.DoClearRelationByLinkedFieldLinkVisitor)2 DoDeleteLinkVisitor (org.nutz.dao.impl.link.DoDeleteLinkVisitor)2 DoInsertLinkVisitor (org.nutz.dao.impl.link.DoInsertLinkVisitor)2 DoInsertRelationLinkVisitor (org.nutz.dao.impl.link.DoInsertRelationLinkVisitor)2