1.普通的自定义SQL语句
在Nutz中通过org.nutz.dao.sql.Sql接口的实现类org.nutz.dao.Sqls来创建自定义SQL语句。代码如下:
Sql sql =Sqls.create("DELETE FROM t_abc WHERE name=‘Peter‘");
2.支持占位符的自定义SQL语句
在Nutz中同样可以通过占位符的方式来构建动态的SQL语句。代码如下:
Sql sql =Sqls.create("DELETE FROM $table WHERE name=@name");
sql.vars().set("table","t_abc");
sql.params().set("name","Peter");
· 通过$table来表示表名,用t_abc表来替换,$表示变量占位符
· 通过@name表示字段名,用Peter替换,@表示参数占位符
· 还有一个特殊的占位符,$condition,
它的用法如下:
Sql sql= Sqls.create("SELECT name FROM t_pet $condition");
sql.setCondition(Cnd.where("id", ">", 35));
如下:
voiddemoCondition2(Dao dao){
Sql sql = Sqls.create("UPDATE t_pet SETmasterid=@masterId $condition");
sql.params().set("masterId", 45);
sql.setCondition(Cnd.wrap("id>35"));
dao.execute(sql);
}