use of org.nutz.dao.impl.NutDao in project nutz by nutzam.
the class DaoUp method setDataSource.
/**
* 主动设置数据源(连接池)
* @param dataSource 数据源(连接池)
*/
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
setDao(new NutDao(dataSource));
}
use of org.nutz.dao.impl.NutDao 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);
}
}
use of org.nutz.dao.impl.NutDao in project nutz by nutzam.
the class DaoPerformanceTest method test_dao.
/**
* 务必先把log关闭!! 设置为Error或者NONE
*/
@Test
public void test_dao() throws Throwable {
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName("org.h2.Driver");
ds.setUsername("sa");
ds.setPassword("sa");
ds.setUrl("jdbc:h2:mem:~");
ds.setDefaultAutoCommit(false);
Json.toJson(ds);
NutDao dao = new NutDao(ds);
List<Pojo> list = new ArrayList<Pojo>();
for (int i = 0; i < num; i++) {
Pojo pojo = new Pojo();
pojo.setName("abc" + i);
list.add(pojo);
}
dao.create(Pojo.class, true);
dao.fastInsert(list);
System.out.println("预热完成,开始测试");
//--------------------------------------------------
dao.create(Pojo.class, true);
dao(dao, list);
dao.create(Pojo.class, true);
jdbc(ds, list);
dao.create(Pojo.class, true);
dao(dao, list);
}
use of org.nutz.dao.impl.NutDao in project nutz by nutzam.
the class ExtDaoInvocationHandler method checkTableColumn.
/**
* 检查分表中是否有字段变化 提示
*
* @param dao
* Dao实例
* @param tableName
* 动态表名上下文
* @param clsType
* 映射Pojo
*/
public static void checkTableColumn(Dao dao, Object tableName, final Class<?> clsType) {
final NutDao d = (NutDao) dao;
final JdbcExpert expert = d.getJdbcExpert();
ext(d, tableName).run(new ConnCallback() {
public void invoke(Connection conn) throws Exception {
Entity<?> en = d.getEntity(clsType);
expert.setupEntityField(conn, en);
}
});
}
use of org.nutz.dao.impl.NutDao in project nutz by nutzam.
the class SimpleDaoTest method new_nutdao_inside_trans.
@Test
public void new_nutdao_inside_trans() {
// 这纯粹是重现bug的代码,不要学
final DataSource ds = ioc.get(DataSource.class);
Trans.exec(new Atom() {
public void run() {
new NutDao(ds);
}
});
}
Aggregations