# 基于 SQL 操作
# 参数设置
- 方法:
SQLQuery<T> args(Object... args)- 按顺序设置参数
dao.createSqlQuery("SELECT * FROM entity WHERE name LIKE ? AND enabled = ?")
.args("%keyword%", 1)
.list();
其他如设置命名参数可查看通用参数设置。
# 查询
通过dao创建SqlQuery查询对象:
- 方法:
SQLQuery<Map<String, Object>> createSQLQuery(String sql)
SQLQuery<Map<String, Object>> query = dao.createSQLQuery("SELECT ...");
在未指定返回类型时,默认列表查询返回每项的类型为Map<String, Object>,可在创建对象时指定:
- 方法:
SQLQuery<T> createSQLQuery(String sql, Class<? extends T> resultClass)
SQLQuery<Entity> query = dao.createSQLQuery("SELECT ...", Entity.class);
List<Entity> list = query.list();
创建对象时还可同时传入参数:
- 方法:
SQLQuery<Map<String, Object>> createSQLQuery(String sql, Object... args)SQLQuery<T> createSQLQuery(String sql, Class<? extends T> resultClass, Object... args)
dao.createSQLQuery(
"SELECT * FROM entity WHERE name LIKE ? AND enabled = ?",
"%keyword%", 1
);
查询对象其他方法可查看通用列表查询。
# 数据更新
创建、更新及删除都属于数据更新操作,通过dao创建SqlUpdate数据更新对象:
SQLUpdate update = dao.createSQLUpdate("UPDATE ...");
创建对象后,若SQL中有占位符,可参考通用参数设置设置参数,然后再调用execute()方法执行,返回影响行数:
int affectedRows = dao.createSQLUpdate("UPDATE ...").execute();
为了简化开发,提供了不需额外调用execute(),可直接执行SQL的方法:
int executeUpdate(String sql, Object... args)int executeUpdate(String sql, Map<String, Object> params)
int affectedRows = dao.executeUpdate("UPDATE ...");