Search in sources :

Example 51 with Pet

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

the class UpdateTest method test_update_with_age_incr.

@Test
public void test_update_with_age_incr() {
    dao.create(Pet.class, true);
    Pet pet = Pet.create("wendal");
    pet.setAge(30);
    dao.insert(pet);
    final Pet pet2 = dao.fetch(Pet.class, "wendal");
    FieldFilter.create(Pet.class, true).run(new Atom() {

        public void run() {
            // 应该只有第一次生效
            dao.updateAndIncrIfMatch(pet2, null, "age");
            dao.updateAndIncrIfMatch(pet2, null, "age");
            dao.updateAndIncrIfMatch(pet2, null, "age");
            dao.updateAndIncrIfMatch(pet2, null, "age");
            dao.updateAndIncrIfMatch(pet2, null, "age");
            dao.updateAndIncrIfMatch(pet2, null, "age");
            assertEquals(31, dao.fetch(Pet.class, "wendal").getAge());
        }
    });
}
Also used : Pet(org.nutz.dao.test.meta.Pet) Atom(org.nutz.trans.Atom) Test(org.junit.Test)

Example 52 with Pet

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

the class InsertTest method test_fastinsert_as_rollback.

/**
 * Github Issue #131
 */
@Test
public void test_fastinsert_as_rollback() {
    dao.create(Pet.class, true);
    // 在插入数据中有错误 ...
    final Pet[] pets = Pet.create(10);
    pets[4].setName(Strings.dup('t', 1024));
    try {
        Trans.exec(new Atom() {

            public void run() {
                dao.fastInsert(pets);
            }
        });
    } catch (RuntimeException e) {
    }
    assertEquals(0, dao.count(Pet.class));
    // 插入后,主动抛出一个错误,看回滚不回滚
    try {
        final Pet[] pets2 = Pet.create(10);
        Trans.exec(new Atom() {

            public void run() {
                dao.fastInsert(pets2);
                throw new RuntimeException("I am ok!");
            }
        });
    } catch (RuntimeException e) {
        assertEquals("I am ok!", e.getMessage());
    }
    assertEquals(0, dao.count(Pet.class));
}
Also used : Pet(org.nutz.dao.test.meta.Pet) Atom(org.nutz.trans.Atom) Test(org.junit.Test)

Example 53 with Pet

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

the class UpdateTest method test_update_chain_and_cnd_by_in.

@Test
public void test_update_chain_and_cnd_by_in() {
    dao.create(Pet.class, true);
    Pet pet = Pet.create("xb");
    pet.setNickName("XB");
    dao.insert(pet);
    dao.update(Pet.class, Chain.make("name", "xiaobai"), Cnd.where("nickName", "in", Lang.array("XB")));
    pet = dao.fetch(Pet.class, "xiaobai");
    assertEquals("XB", pet.getNickName());
}
Also used : Pet(org.nutz.dao.test.meta.Pet) Test(org.junit.Test)

Example 54 with Pet

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

the class UpdateTest method test_update_chain_and_cnd.

@Test
public void test_update_chain_and_cnd() {
    dao.create(Pet.class, true);
    Pet pet = Pet.create("xb");
    pet.setNickName("XB");
    dao.insert(pet);
    dao.update(Pet.class, Chain.make("name", "xiaobai"), Cnd.where("nickName", "=", "XB"));
    pet = dao.fetch(Pet.class, "xiaobai");
    assertEquals("XB", pet.getNickName());
}
Also used : Pet(org.nutz.dao.test.meta.Pet) Test(org.junit.Test)

Example 55 with Pet

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

the class ManyTest method insert_links.

@Test
public void insert_links() {
    dao.create(Pet.class, true);
    dao.create(Master.class, true);
    Master m = new Master();
    m.setName("zozoh");
    m.setPets(new ArrayList<Pet>(2));
    Pet pet = new Pet();
    pet.setAge(25);
    pet.setName("Wendal");
    m.getPets().add(pet);
    pet = new Pet();
    pet.setAge(25);
    pet.setName("Juqkai");
    m.getPets().add(pet);
    dao.insertWith(m, "pets");
    assertTrue(m.getId() > 0);
    assertEquals(2, dao.count(Pet.class, Cnd.where("masterId", "=", m.getId())));
}
Also used : Master(org.nutz.dao.test.meta.Master) Pet(org.nutz.dao.test.meta.Pet) 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