Search in sources :

Example 6 with NutDao

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));
}
Also used : NutDao(org.nutz.dao.impl.NutDao)

Example 7 with NutDao

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

Example 8 with NutDao

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);
}
Also used : NutDao(org.nutz.dao.impl.NutDao) ArrayList(java.util.ArrayList) BasicDataSource(org.apache.commons.dbcp.BasicDataSource) Test(org.junit.Test)

Example 9 with NutDao

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);
        }
    });
}
Also used : Entity(org.nutz.dao.entity.Entity) NutDao(org.nutz.dao.impl.NutDao) JdbcExpert(org.nutz.dao.jdbc.JdbcExpert) ConnCallback(org.nutz.dao.ConnCallback) Connection(java.sql.Connection) DaoException(org.nutz.dao.DaoException) SQLException(java.sql.SQLException)

Example 10 with NutDao

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);
        }
    });
}
Also used : NutDao(org.nutz.dao.impl.NutDao) Atom(org.nutz.trans.Atom) DataSource(javax.sql.DataSource) SimpleDataSource(org.nutz.dao.impl.SimpleDataSource) Test(org.junit.Test)

Aggregations

NutDao (org.nutz.dao.impl.NutDao)14 Test (org.junit.Test)7 Connection (java.sql.Connection)5 SQLException (java.sql.SQLException)4 SimpleDataSource (org.nutz.dao.impl.SimpleDataSource)4 Atom (org.nutz.trans.Atom)4 ArrayList (java.util.ArrayList)3 DataSource (javax.sql.DataSource)2 BasicDataSource (org.apache.commons.dbcp.BasicDataSource)2 Dao (org.nutz.dao.Dao)2 DaoException (org.nutz.dao.DaoException)2 JdbcExpert (org.nutz.dao.jdbc.JdbcExpert)2 Sql (org.nutz.dao.sql.Sql)2 Pet (org.nutz.dao.test.meta.Pet)2 Issue1163Pet (org.nutz.dao.test.meta.issue1163.Issue1163Pet)2 DruidDataSource (com.alibaba.druid.pool.DruidDataSource)1 ComboPooledDataSource (com.mchange.v2.c3p0.ComboPooledDataSource)1 ByteArrayInputStream (java.io.ByteArrayInputStream)1 ByteArrayOutputStream (java.io.ByteArrayOutputStream)1 IOException (java.io.IOException)1