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());
}
});
}
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));
}
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());
}
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());
}
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())));
}
Aggregations