use of org.nutz.dao.sql.Pojo in project nutz by nutzam.
the class DoInsertRelationLinkVisitor method visit.
public void visit(final Object obj, LinkField lnk) {
// 只有多对多的映射才被考虑
if (lnk instanceof ManyManyLinkField) {
// 获取两边映射主键的值
final ManyManyLinkField mm = (ManyManyLinkField) lnk;
Object value = lnk.getValue(obj);
final List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(Lang.length(value));
Lang.each(value, new Each<Object>() {
public void invoke(int i, Object ele, int length) throws ExitLoop, LoopException {
list.add(new RelationObjectMap(mm, obj, ele));
}
});
if (list.isEmpty())
return;
Entity<Map<String, Object>> en = holder.makeEntity(mm.getRelationName(), list.get(0));
Pojo pojo = opt.maker().makeInsert(en);
pojo.setOperatingObject(list);
for (Object p : list) pojo.addParamsBy(p);
opt.add(pojo);
}
}
use of org.nutz.dao.sql.Pojo in project nutz by nutzam.
the class DoUpdateRelationLinkVisitor method visit.
public void visit(Object obj, LinkField lnk) {
if (lnk instanceof ManyManyLinkField) {
ManyManyLinkField mm = (ManyManyLinkField) lnk;
Entity<?> en = opt.makeEntity(mm.getRelationName(), map);
Pojo pojo = opt.maker().makeUpdate(en, null);
pojo.setOperatingObject(map);
pojo.append(items);
opt.add(pojo);
}
}
use of org.nutz.dao.sql.Pojo in project nutz by nutzam.
the class NutPojoMaker method makeFunc.
public Pojo makeFunc(String tableName, String funcName, String colName) {
Pojo pojo = makePojo(SqlType.SELECT);
pojo.append(Pojos.Items.wrapf("%s(%s) FROM %s", funcName, colName, tableName));
return pojo;
}
use of org.nutz.dao.sql.Pojo in project nutz by nutzam.
the class NutPojoMaker method makeQuery.
public Pojo makeQuery(String tableName) {
String[] ss = tableName.split(":");
// String idFieldName = ss.length > 1 ? ss[1] : "*";//按id字段来统计,比较快
Pojo pojo = makePojo(SqlType.SELECT);
// pojo.append(Pojos.Items.wrap(idFieldName));//与org.nutz.dao.test.normal.QueryTest.query_records_pager()冲突
pojo.append(Pojos.Items.wrap("*"));
pojo.append(Pojos.Items.wrap("FROM"));
pojo.append(Pojos.Items.wrap(ss[0]));
return pojo;
}
use of org.nutz.dao.sql.Pojo in project nutz by nutzam.
the class NutPojoMaker method makeQuery.
public Pojo makeQuery(Entity<?> en) {
Pojo pojo = Pojos.pojo(expert, en, SqlType.SELECT);
pojo.setEntity(en);
pojo.append(Pojos.Items.queryEntityFields());
pojo.append(Pojos.Items.wrap("FROM"));
pojo.append(Pojos.Items.entityViewName());
return pojo;
}
Aggregations