ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 内置查询API * public <T> T unique(Class<T> clazz,Object pk) 根据主键查询,如果未找到,抛出`BeetlSQLException`异常. * public <T> T single(Class<T> clazz,Object pk) 根据主键查询,如果未找到,返回null. * public <T> List<T> selectByIds(Class<T> clazz, List<?> pks) 根据一批主键查询 * public <T> List<T> all(Class<T> clazz) 查询出所有结果集 * public <T> List<T> all(Class<T> clazz, int start, int size) 翻页 * public int allCount(Class<?> clazz) 总数 * public <T> T lock(Class<T> clazz, Object pk) 同single方法,但会得到一个行级锁,行级锁的失效机制取决于事务失效 这里的clazz代表了数据库的表,通过NameConversion得出其表名,比如clazz是SysUser,如果NameConversion设置的是UnderlinedNameConversion,那么表名是`sys_user` 。SQLManager会调用NameConversion.getTableName(Class c) 得出表名字 NameConversion实现会考虑类上是否有`@Table` 注解,如果有,则表名以`@Table`注解为准 ```java @Table(name="sys_user") public class UserEntity{ } ``` > 通过类名以entity结尾,表示这个类跟数据库表定义完全一致。其他诸如vo,dto结尾,则表示是普通POJO,可能是表的部分属性,或者多个表的综合属性