Search in sources :

Example 51 with Sql

use of org.nutz.dao.sql.Sql in project nutz by nutzam.

the class SimpleDaoExecTest method test_simple_mysql_exec.

// Mysql支持存储过程
@Test
public void test_simple_mysql_exec() {
    if (!dao.meta().isMySql())
        // Only test for mysql now
        return;
    dao.create(Pet.class, true);
    dao.insert(Pet.create("wendal"));
    dao.execute(Sqls.create("DROP PROCEDURE IF EXISTS proc_pet_getCount"));
    dao.execute(Sqls.create("CREATE PROCEDURE proc_pet_getCount()\nBEGIN\n\tSELECT name FROM t_pet;\nEND"));
    // 单一结果集,且没有输入输出参数
    Sql sql = Sqls.fetchString("CALL proc_pet_getCount()");
    dao.execute(sql);
    assertEquals("wendal", sql.getString());
}
Also used : Sql(org.nutz.dao.sql.Sql) Test(org.junit.Test)

Example 52 with Sql

use of org.nutz.dao.sql.Sql in project nutz by nutzam.

the class ExtDaoInvocationHandler method queryCount.

/**
     * 查询某sql的结果条数
     */
public static long queryCount(Dao dao, String sql) {
    String tmpTable = "as _nutz_tmp";
    if (dao.meta().isDB2())
        tmpTable = "as nutz_tmp_" + R.UU32();
    else if (dao.meta().isOracle())
        tmpTable = "";
    else
        tmpTable += "_" + R.UU32();
    Sql sql2 = Sqls.fetchInt("select count(1) from (" + sql + ")" + tmpTable);
    dao.execute(sql2);
    return sql2.getInt();
}
Also used : Sql(org.nutz.dao.sql.Sql)

Example 53 with Sql

use of org.nutz.dao.sql.Sql in project nutz by nutzam.

the class SimpleDaoTest method test_xxx.

@Test
public void test_xxx() {
    Sql task_sql = Sqls.create("SELECT * FROM act_ru_task WHERE CATEGORY_=@category AND ( ASSIGNEE_=@userId  $assignee ) ORDER BY create_time_ desc");
    task_sql.params().set("category", 1);
    task_sql.params().set("userId", 2);
    task_sql.vars().set("assignee", "and name != 'hi'");
    System.out.println(task_sql.toPreparedStatement());
    System.out.println(task_sql.forPrint());
    System.out.println(">>" + task_sql);
}
Also used : PojoSql(org.nutz.dao.test.meta.issue1074.PojoSql) Sql(org.nutz.dao.sql.Sql) Test(org.junit.Test)

Example 54 with Sql

use of org.nutz.dao.sql.Sql in project nutz by nutzam.

the class SimpleDaoTest method test_bean_uuid.

@Test
public void test_bean_uuid() {
    Sql sql = Sqls.queryRecord("select * from t_pet");
    sql.setPager(dao.createPager(1, 10));
    dao.execute(sql);
}
Also used : PojoSql(org.nutz.dao.test.meta.issue1074.PojoSql) Sql(org.nutz.dao.sql.Sql) Test(org.junit.Test)

Example 55 with Sql

use of org.nutz.dao.sql.Sql in project nutz by nutzam.

the class SimpleDaoTest method run_2_sqls_with_error.

@Test
public void run_2_sqls_with_error() {
    assertEquals(0, dao.count(Pet.class));
    Sql sql1 = Sqls.create("INSERT INTO t_pet (name) VALUES ('A')");
    Sql sql2 = Sqls.create("INSERT INTO t_pet (nocol) VALUES ('B')");
    try {
        dao.execute(sql1, sql2);
        fail();
    } catch (DaoException e) {
    }
    assertEquals(0, dao.count(Pet.class));
}
Also used : DaoException(org.nutz.dao.DaoException) Issue1163Pet(org.nutz.dao.test.meta.issue1163.Issue1163Pet) Pet(org.nutz.dao.test.meta.Pet) PojoSql(org.nutz.dao.test.meta.issue1074.PojoSql) Sql(org.nutz.dao.sql.Sql) Test(org.junit.Test)

Aggregations

Sql (org.nutz.dao.sql.Sql)69 Test (org.junit.Test)33 MappingField (org.nutz.dao.entity.MappingField)14 ArrayList (java.util.ArrayList)12 NutSql (org.nutz.dao.impl.sql.NutSql)9 Pet (org.nutz.dao.test.meta.Pet)9 ResultSet (java.sql.ResultSet)8 SQLException (java.sql.SQLException)8 FileSqlManager (org.nutz.dao.impl.FileSqlManager)8 Connection (java.sql.Connection)7 SqlManager (org.nutz.dao.SqlManager)7 SqlCallback (org.nutz.dao.sql.SqlCallback)5 Record (org.nutz.dao.entity.Record)4 PojoSql (org.nutz.dao.test.meta.issue1074.PojoSql)4 Dao (org.nutz.dao.Dao)3 DaoException (org.nutz.dao.DaoException)3 PreparedStatement (java.sql.PreparedStatement)2 HashMap (java.util.HashMap)2 List (java.util.List)2 LinkField (org.nutz.dao.entity.LinkField)2