Search in sources :

Example 56 with Pet

use of org.nutz.dao.test.meta.Pet in project nutz by nutzam.

the class NutPojoMakerTest method makeQueryByJoin.

@Test
public void makeQueryByJoin() {
    dao.create(Pet.class, true);
    dao.create(Master.class, true);
    Master master = new Master();
    master.setName("zozoh");
    Pet petA = new Pet();
    petA.setName("wendal");
    petA.setAge(31);
    Pet petB = new Pet();
    petB.setName("pangwu");
    petB.setAge(30);
    master.setPets(Arrays.asList(petA, petB));
    dao.insertWith(master, null);
    PojoMaker pojoMaker = new NutPojoMaker(dao.getJdbcExpert());
    Entity<?> en = en(Master.class);
    Pojo pojo = pojoMaker.makeQueryByJoin(en, "pets");
    assertEquals(true, Lang.isNotEmpty(pojo));
}
Also used : Master(org.nutz.dao.test.meta.Master) Pojo(org.nutz.dao.sql.Pojo) Pet(org.nutz.dao.test.meta.Pet) PojoMaker(org.nutz.dao.sql.PojoMaker) Test(org.junit.Test)

Example 57 with Pet

use of org.nutz.dao.test.meta.Pet in project nutz by nutzam.

the class SimpleDaoInterceptorTest method issue_1325.

/**
 * 测试的内容: 在DaoInterceptor内设置字段过滤,看看能不能起作用
 */
@Test
public void issue_1325() {
    // 现有默认dao创建记录
    this.dao.create(Pet.class, true);
    Pet pet = Pet.create("wendal");
    pet.setAge(30);
    this.dao.insert(pet);
    // 然后构建一个临时用的Dao实例, 拦截器顺序: 设置FieldFilter, log
    DataSource ds = ioc.get(DataSource.class);
    NutDao dao = new NutDao(ds);
    dao.setInterceptors(Arrays.asList(new DaoInterceptor() {

        public void filter(DaoInterceptorChain chain) throws DaoException {
            chain.getDaoStatement().getContext().setFieldMatcher(FieldMatcher.make(null, "age", false));
            chain.doChain();
        }
    }, "log"));
    // 用临时dao,应该是没有age数据
    pet = dao.fetch(Pet.class, Cnd.where("name", "=", "wendal"));
    Assert.assertEquals(0, pet.getAge());
    // 用默认dao, 应该有age数据
    pet = this.dao.fetch(Pet.class, Cnd.where("name", "=", "wendal"));
    Assert.assertEquals(30, pet.getAge());
}
Also used : DaoInterceptorChain(org.nutz.dao.DaoInterceptorChain) NutDao(org.nutz.dao.impl.NutDao) DaoInterceptor(org.nutz.dao.DaoInterceptor) Pet(org.nutz.dao.test.meta.Pet) DataSource(javax.sql.DataSource) Test(org.junit.Test)

Aggregations

Pet (org.nutz.dao.test.meta.Pet)57 Test (org.junit.Test)54 Issue1163Pet (org.nutz.dao.test.meta.issue1163.Issue1163Pet)14 AbcPet (org.nutz.dao.test.meta.nutzcn.AbcPet)14 Atom (org.nutz.trans.Atom)9 Sql (org.nutz.dao.sql.Sql)8 ArrayList (java.util.ArrayList)7 Record (org.nutz.dao.entity.Record)5 Master (org.nutz.dao.test.meta.Master)5 List (java.util.List)4 NutDao (org.nutz.dao.impl.NutDao)4 SimpleCriteria (org.nutz.dao.util.cri.SimpleCriteria)4 HashMap (java.util.HashMap)3 Cnd (org.nutz.dao.Cnd)3 NutSql (org.nutz.dao.impl.sql.NutSql)3 Connection (java.sql.Connection)2 SQLException (java.sql.SQLException)2 Timestamp (java.sql.Timestamp)2 LinkedList (java.util.LinkedList)2 Criteria (org.nutz.dao.sql.Criteria)2