Search in sources :

Example 6 with Atom

use of org.nutz.trans.Atom in project nutz by nutzam.

the class Pojos method create4Platoon.

public Platoon create4Platoon(Base base, String name) {
    final Platoon p = dao().insert(Platoon.make(base, name));
    int id = p.getId();
    initPlatoon(id);
    TableName.run(id, new Atom() {

        public void run() {
            Soldier mick = Soldier.make("Mick");
            Soldier zzh = Soldier.make("ZZH");
            Soldier peter = Soldier.make("Peter");
            Soldier sm = Soldier.make("Super Man");
            Soldier bush = Soldier.make("George.W.Bush");
            p.setTanks(new HashMap<String, Tank>());
            Tank m1a1 = p.addTank(Tank.make("M1-A1"));
            m1a1.setMotorName(bush.getName());
            Tank t92 = p.addTank(Tank.make("T92"));
            t92.setMotorName(zzh.getName());
            p.setLeaderName(zzh.getName());
            p.setLeader(zzh);
            p.setSoliders(new LinkedList<Soldier>());
            p.getSoliders().add(mick);
            p.getSoliders().add(peter);
            p.getSoliders().add(sm);
            p.getSoliders().add(bush);
            dao.update(p);
            dao.insertLinks(p, "leader|soliders|tanks");
            m1a1 = dao.fetch(Tank.class, "M1-A1");
            m1a1.setMembers(new HashMap<String, Soldier>());
            m1a1.addMember(bush).addMember(sm).addMember(zzh);
            t92 = dao.fetch(Tank.class, "T92");
            t92.setMembers(new HashMap<String, Soldier>());
            t92.addMember(zzh).addMember(mick).addMember(peter);
            dao.insertRelation(m1a1, "members");
            dao.insertRelation(t92, "members");
            dao.insertLinks(Gun.assign(mick, Gun.TYPE.AK47, Gun.TYPE.P228), "guns");
            dao.insertLinks(Gun.assign(zzh, Gun.TYPE.AWP, Gun.TYPE.MP5, Gun.TYPE.P228), "guns");
            dao.insertLinks(Gun.assign(peter, Gun.TYPE.M16, Gun.TYPE.UMP_45), "guns");
            dao.insertLinks(Gun.assign(sm, Gun.TYPE.M16, Gun.TYPE.UMP_45), "guns");
            dao.insertLinks(Gun.assign(bush, Gun.TYPE.M60, Gun.TYPE.P228), "guns");
        }
    });
    return p;
}
Also used : HashMap(java.util.HashMap) Atom(org.nutz.trans.Atom) LinkedList(java.util.LinkedList)

Example 7 with Atom

use of org.nutz.trans.Atom in project nutz by nutzam.

the class UpdateTest method test_update_ignore_null.

/**
     * For issue #557
     */
@Test
public void test_update_ignore_null() {
    dao.create(Pet.class, true);
    final Pet pet = Pet.create("XiaoBai").setAge(20);
    dao.insert(pet);
    FieldFilter.create(Pet.class, true).run(new Atom() {

        public void run() {
            Pet p1 = new Pet().setAge(12).setId(pet.getId());
            dao.update(p1);
        }
    });
    Pet p2 = dao.fetch(Pet.class, pet.getId());
    assertEquals("XiaoBai", p2.getName());
}
Also used : Pet(org.nutz.dao.test.meta.Pet) Atom(org.nutz.trans.Atom) Test(org.junit.Test)

Example 8 with Atom

use of org.nutz.trans.Atom in project nutz by nutzam.

the class UpdateTest method test_updateIgnoreNull.

@Test
public void test_updateIgnoreNull() {
    pojos.initData();
    Platoon p = dao.fetch(Platoon.class, "sF");
    p.setLeaderName("xyz");
    dao.update(p);
    p = dao.fetch(Platoon.class, "sF");
    // xyz
    String name = p.getLeaderName();
    assertNotNull(name);
    p.setLeaderName(null);
    int re = dao.updateIgnoreNull(p);
    assertEquals(1, re);
    p = dao.fetch(Platoon.class, "sF");
    assertEquals(name, p.getLeaderName());
    p.setLeaderName(null);
    dao.update(p);
    p = dao.fetch(Platoon.class, "sF");
    assertNull(p.getLeaderName());
    p.setLeaderName("ABC");
    dao.update(p);
    p = dao.fetch(Platoon.class, "sF");
    assertEquals("ABC", p.getLeaderName());
    FieldFilter.create(Platoon.class, true).run(new Atom() {

        public void run() {
            System.out.println(FieldFilter.get(Platoon.class));
            Platoon p = dao.fetch(Platoon.class, "sF");
            p.setLeaderName(null);
            dao.update(p);
        }
    });
    p = dao.fetch(Platoon.class, "sF");
    assertEquals("ABC", p.getLeaderName());
}
Also used : Platoon(org.nutz.dao.test.meta.Platoon) Atom(org.nutz.trans.Atom) Test(org.junit.Test)

Example 9 with Atom

use of org.nutz.trans.Atom in project nutz by nutzam.

the class BatchInsertTest method test_insert_3_pets.

@Test
public void test_insert_3_pets() {
    assertEquals(0, dao.count(Pet.class));
    dao.insert(Pet.create(3));
    assertEquals(3, dao.count(Pet.class));
    assertTrue(null != dao.fetch(Pet.class, 1));
    assertTrue(null != dao.fetch(Pet.class, 2));
    assertTrue(null != dao.fetch(Pet.class, 3));
    FieldFilter.create(Pet.class, "name|id").run(new Atom() {

        public void run() {
            assertTrue(null != dao.fetch(Pet.class));
        }
    });
}
Also used : Pet(org.nutz.dao.test.meta.Pet) Atom(org.nutz.trans.Atom) Test(org.junit.Test)

Example 10 with Atom

use of org.nutz.trans.Atom in project nutz by nutzam.

the class CustomizedSqlsTest method test_dynamic_insert.

@Test
public void test_dynamic_insert() {
    pojos.init();
    ((NutDao) dao).setSqlManager(new FileSqlManager("org/nutz/dao/test/sqls/exec.sqls"));
    int platoonId = 23;
    try {
        pojos.initPlatoon(platoonId);
        Sql sql = dao.sqls().create("tank.insert");
        sql.vars().set("id", platoonId);
        sql.params().set("code", "T1").set("weight", 12);
        dao.execute(sql);
        sql = dao.sqls().create("tank.insert");
        sql.vars().set("id", platoonId);
        sql.params().set("code", "T2").set("weight", 13);
        dao.execute(sql);
        sql = dao.sqls().create("tank.insert");
        sql.vars().set("id", platoonId);
        sql.params().set("code", "T3").set("weight", 14);
        dao.execute(sql);
        sql = dao.sqls().create("tank.insert");
        sql.vars().set("id", platoonId);
        sql.params().set("code", "T4").set("weight", 15);
        dao.execute(sql);
        TableName.run(platoonId, new Atom() {

            public void run() {
                assertEquals(4, dao.count(Tank.class));
            }
        });
    } catch (SqlNotFoundException e) {
    } finally {
        pojos.dropPlatoon(platoonId);
    }
}
Also used : SqlNotFoundException(org.nutz.dao.SqlNotFoundException) NutDao(org.nutz.dao.impl.NutDao) Atom(org.nutz.trans.Atom) FileSqlManager(org.nutz.dao.impl.FileSqlManager) NutSql(org.nutz.dao.impl.sql.NutSql) Sql(org.nutz.dao.sql.Sql) Test(org.junit.Test)

Aggregations

Atom (org.nutz.trans.Atom)20 Test (org.junit.Test)15 Pet (org.nutz.dao.test.meta.Pet)9 NutDao (org.nutz.dao.impl.NutDao)4 Stopwatch (org.nutz.lang.Stopwatch)3 Connection (java.sql.Connection)2 ArrayList (java.util.ArrayList)2 SimpleDataSource (org.nutz.dao.impl.SimpleDataSource)2 File (java.io.File)1 PreparedStatement (java.sql.PreparedStatement)1 SQLException (java.sql.SQLException)1 HashMap (java.util.HashMap)1 LinkedList (java.util.LinkedList)1 List (java.util.List)1 DataSource (javax.sql.DataSource)1 BasicDataSource (org.apache.commons.dbcp.BasicDataSource)1 Ignore (org.junit.Ignore)1 DaoInterceptorChain (org.nutz.dao.DaoInterceptorChain)1 SqlNotFoundException (org.nutz.dao.SqlNotFoundException)1 FileSqlManager (org.nutz.dao.impl.FileSqlManager)1