Search in sources :

Example 71 with Sql

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

the class SqlTemplate method queryForRecord.

/**
 * 执行一个SQL查询操作,结果为Record的对象。
 *
 * @param sql
 *            包含变量占位符的SQL
 * @param vars
 *            变量map,无参数时,可为null
 * @param params
 *            参数map,无参数时,可为null
 * @return Record对象,无查询结果时返回null
 */
public Record queryForRecord(String sql, Map<String, Object> vars, Map<String, Object> params) {
    Sql sqlObj = createSqlObj(sql, params);
    sqlObj.setCallback(Sqls.callback.record());
    execute(sqlObj, vars, params);
    return sqlObj.getObject(Record.class);
}
Also used : Sql(org.nutz.dao.sql.Sql)

Example 72 with Sql

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

the class SqlTemplate method query.

/**
 * 执行一个SQL查询操作,结果为一组对象。
 *
 * @param sql
 *            包含变量占位符的SQL
 * @param vars
 *            变量map,无参数时,可为null
 * @param params
 *            参数map,无参数时,可为null
 * @param entity
 *            对象类型
 *
 * @return 对象列表,无查询结果时返回长度为0的List对象
 */
public <T> List<T> query(String sql, Map<String, Object> vars, Map<String, Object> params, Entity<T> entity) {
    Sql sqlObj = createSqlObj(sql, params);
    sqlObj.setCallback(Sqls.callback.entities());
    sqlObj.setEntity(entity);
    execute(sqlObj, vars, params);
    return sqlObj.getList(entity.getType());
}
Also used : Sql(org.nutz.dao.sql.Sql)

Example 73 with Sql

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

the class SimplePojoInterceptorTest method test_pojo_interceptor_anno.

@Test
public void test_pojo_interceptor_anno() {
    String name = "huchuc@vip.qq.com";
    dao.create(XPet.class, true);
    XPet xPet = new XPet();
    // 主动设置name值,PrevInsert nullEffective=true,实际name已有预设值则PrevInsert不会起效
    xPet.setName(name);
    dao.insert(xPet);
    assertEquals(1, dao.count(XPet.class));
    assertNotNull(dao.fetch(XPet.class));
    Sql sql = Sqls.fetchEntity("select * from t_xpet");
    sql.setEntity(dao.getEntity(XPet.class));
    dao.execute(sql);
    XPet xPet1 = sql.getObject(XPet.class);
    assertEquals(xPet1.getName(), name);
    assertNotNull(sql.getObject(XPet.class));
    assertNull(sql.getObject(XPet.class).getOtherTime());
    Lang.quiteSleep(1000);
    dao.update(sql.getObject(XPet.class), "updateTime");
}
Also used : XPet(org.nutz.dao.test.meta.XPet) Sql(org.nutz.dao.sql.Sql) Test(org.junit.Test)

Example 74 with Sql

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

the class SqlLiteralTest method test_change_placeholder.

@Test
public void test_change_placeholder() {
    String str = "select * from t_user where name = :name";
    Sql sql = Sqls.create(str);
    assertEquals(0, sql.paramIndex().size());
    sql.changePlaceholder(':', '$');
    assertEquals(1, sql.paramIndex().size());
}
Also used : Sql(org.nutz.dao.sql.Sql) Test(org.junit.Test)

Example 75 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)

Aggregations

Sql (org.nutz.dao.sql.Sql)75 Test (org.junit.Test)36 MappingField (org.nutz.dao.entity.MappingField)15 ArrayList (java.util.ArrayList)14 Pet (org.nutz.dao.test.meta.Pet)10 ResultSet (java.sql.ResultSet)9 NutSql (org.nutz.dao.impl.sql.NutSql)9 FileSqlManager (org.nutz.dao.impl.FileSqlManager)8 Connection (java.sql.Connection)7 SQLException (java.sql.SQLException)7 SqlManager (org.nutz.dao.SqlManager)7 PojoSql (org.nutz.dao.test.meta.issue1074.PojoSql)5 PreparedStatement (java.sql.PreparedStatement)4 DaoException (org.nutz.dao.DaoException)4 Record (org.nutz.dao.entity.Record)4 SqlCallback (org.nutz.dao.sql.SqlCallback)4 ResultSetMetaData (java.sql.ResultSetMetaData)2 Statement (java.sql.Statement)2 HashMap (java.util.HashMap)2 HashSet (java.util.HashSet)2