@Repository @Scope(value="singleton") @Transactional public class BaseDao extends SimpleBaseDao
| Constructor and Description |
|---|
BaseDao() |
| Modifier and Type | Method and Description |
|---|---|
Result |
execComplexProc(java.lang.String procName,
java.lang.Integer returnValueType,
java.util.List<Parameter> params)
执行复杂存储过程或者函数
|
Result |
execComplexProc(java.lang.String procName,
java.lang.Integer returnValueType,
Parameter... params)
调用复杂的存储过程或者函数。
|
Result |
execComplexProc(java.lang.String procName,
java.util.List<Parameter> params)
执行没有返回值的复杂存储过程或者函数
|
Result |
execComplexProc(java.lang.String procName,
Parameter... params)
执行没有返回值的复杂存储过程或者函数
|
int |
execNoResultHql(java.lang.String hql,
java.lang.Object... params)
执行无结果集的hql
|
int |
execNoResultProc(java.lang.String procName,
java.lang.Object... params)
执行无结果集,无返回值,无输出参数的存储过程
|
int |
execNoResultSql(java.lang.String sql,
java.lang.Object... params)
执行无结果集的sql
|
java.util.List |
execSqlWithResult(java.lang.String sql,
java.lang.Object... params)
执行sql语句
|
java.util.List<?> |
execWithListProc(java.lang.String procName,
java.lang.Object... params)
执行返回的结果仅为一个数据库表的结果集的存储过程,同时不能有返回值和输出参数。
|
<T> java.util.List<T> |
execWithMappingEntityListProc(java.lang.Class<T> clazz,
java.lang.String procName,
java.lang.Object... params)
执行返回的结果对应的是实体类对应的的一个数据库表的结果集的存储过程.
|
java.lang.Object |
execWithUniqueResultProc(java.lang.String procName,
java.lang.Object... params)
执行返回的结果集有且只有一行一列的数据的存储过程。存储过程不能有返回值,不能有输出参数
|
java.util.List |
findByHql(CacheContract cacheContract,
java.lang.String hql,
java.lang.Object... params)
根据Hql查询结果集
|
java.util.List |
findByHql(java.lang.String hql,
java.lang.Object... params)
根据Hql查询结果集
|
java.util.List<?> |
findByHql2List(java.lang.String hql,
java.lang.Object... params)
根据Hql查询结果集
|
java.util.List<java.util.Map<java.lang.String,java.lang.Object>> |
findByHql2Map(java.lang.String hql,
java.lang.Object... params)
功能描述:根据Hql查询结果集
|
<T> java.util.List<T> |
findByHql2NoMappingEntity(CacheContract cacheContract,
java.lang.Class<T> clazz,
java.lang.String hql,
java.lang.Object... params)
根据Hql查询结果集
|
<T> java.util.List<T> |
findByHql2NoMappingEntity(java.lang.Class<T> clazz,
java.lang.String hql,
java.lang.Object... params)
根据Hql查询结果集
|
java.util.List |
findBySql(java.lang.String sql,
java.lang.Object... params)
根据Sql查询结果集
|
java.util.List<java.util.List<java.lang.Object>> |
findBySql2List(java.lang.String sql,
java.lang.Object... params)
根据Sql查询结果集
|
java.util.List<java.util.Map<java.lang.String,java.lang.Object>> |
findBySql2Map(java.lang.String sql,
java.lang.Object... params)
根据Sql查询结果集
|
<T> java.util.List<T> |
findBySql2MappingEntity(CacheContract cacheContract,
java.lang.Class<T> clazz,
java.lang.String sql,
java.lang.Object... params)
功能描述: 根据Sql查询结果集
|
<T> java.util.List<T> |
findBySql2MappingEntity(java.lang.Class<T> clazz,
java.lang.String sql,
java.lang.Object... params)
根据Sql查询结果集
|
<T> java.util.List<T> |
findBySql2NoMappingEntity(CacheContract cacheContract,
java.lang.Class<T> clazz,
java.lang.String sql,
java.lang.Object... params)
根据Sql查询结果集
|
<T> java.util.List<T> |
findBySql2NoMappingEntity(java.lang.Class<T> clazz,
java.lang.String sql,
java.lang.Object... params)
根据Sql查询结果集
|
<T> java.util.List<T> |
getByPk(CacheContract cacheContract,
java.lang.Class<T> clazz,
java.lang.String keyName,
java.lang.Object keyValue)
根据对象属性的某个值以get方式加载集合对象
|
<T> java.util.List<T> |
getByPk(java.lang.Class<T> clazz,
java.lang.String keyName,
java.lang.Object keyValue)
根据对象属性的某个值以get方式加载集合对象
|
<T> java.util.List<T> |
getByPks(CacheContract cacheContract,
java.lang.Class<T> clazz,
java.lang.String[] keyNames,
java.lang.Object[] keyValues)
根据对象属性的某个值以get方式加载集合对象
|
<T> java.util.List<T> |
getByPks(java.lang.Class<T> clazz,
java.lang.String[] keyNames,
java.lang.Object[] keyValues)
根据对象属性的某个值以get方式加载集合对象
|
int |
getCountByHql(java.lang.String hql,
java.lang.Object... params)
根据传入的hql 返回count
|
int |
getCountBySql(java.lang.String sql,
java.lang.Object... params)
根据传入的sql 返回count
|
<T> T |
getUniqueByPk(CacheContract cacheContract,
java.lang.Class<T> clazz,
java.lang.String keyName,
java.lang.Object keyValue)
根据对象属性的某个值以get方式加载唯一对象
|
<T> T |
getUniqueByPk(java.lang.Class<T> clazz,
java.lang.String keyName,
java.lang.Object keyValue)
根据对象属性的某个值以get方式加载唯一对象
|
<T> T |
getUniqueByPks(CacheContract cacheContract,
java.lang.Class<T> clazz,
java.lang.String[] keyNames,
java.lang.Object[] keyValues)
根据对象属性的某个值以get方式加载唯一对象
|
<T> T |
getUniqueByPks(java.lang.Class<T> clazz,
java.lang.String[] keyNames,
java.lang.Object[] keyValues)
根据对象属性的某个值以get方式加载唯一对象
|
java.lang.Object |
getUniquePropertyByHql(java.lang.String hql,
java.lang.Object... params)
根据特定的hql语句查出该语句对应的实体对象的唯一一个属性的值
|
java.lang.Object |
getUniqueResultByHql(java.lang.String hql,
java.lang.Object... params)
根据传入的hql 返回唯一结果
|
java.lang.Object |
getUniqueResultBySql(java.lang.String sql,
java.lang.Object... params)
根据传入的sql 返回唯一结果
|
java.util.List |
limitByHql(CacheContract cacheContract,
java.lang.String hql,
int startIndex,
int endIndex,
java.lang.Object... params)
根据hql查询区间数据
|
java.util.List |
limitByHql(java.lang.String hql,
int startIndex,
int endIndex,
java.lang.Object... params)
根据hql查询区间数据
|
java.util.List<?> |
limitByHql2List(java.lang.String hql,
int startIndex,
int endIndex,
java.lang.Object... params)
根据hql查询区间数据
|
java.util.List<java.util.Map<java.lang.String,java.lang.Object>> |
limitByHql2Map(java.lang.String hql,
int startIndex,
int endIndex,
java.lang.Object... params)
根据hql查询区间数据
|
<T> java.util.List<T> |
limitByHql2NoMappingEntity(CacheContract cacheContract,
java.lang.Class<T> clazz,
java.lang.String hql,
int startIndex,
int endIndex,
java.lang.Object... params)
根据hql查询区间数据
|
<T> java.util.List<T> |
limitByHql2NoMappingEntity(java.lang.Class<T> clazz,
java.lang.String hql,
int startIndex,
int endIndex,
java.lang.Object... params)
根据hql查询区间数据
|
java.util.List |
limitBySql(java.lang.String sql,
int startIndex,
int endIndex,
java.lang.Object... params)
根据sql查询区间数据
|
java.util.List<java.util.List<java.lang.Object>> |
limitBySql2List(java.lang.String sql,
int startIndex,
int endIndex,
java.lang.Object... params)
根据sql查询区间数据
|
java.util.List<java.util.Map<java.lang.String,java.lang.Object>> |
limitBySql2Map(java.lang.String sql,
int startIndex,
int endIndex,
java.lang.Object... params)
根据sql查询区间数据
|
<T> java.util.List<T> |
limitBySql2MappingEntity(CacheContract cacheContract,
java.lang.Class<T> clazz,
java.lang.String sql,
int startIndex,
int endIndex,
java.lang.Object... params)
根据sql查询区间数据
|
<T> java.util.List<T> |
limitBySql2MappingEntity(java.lang.Class<T> clazz,
java.lang.String sql,
int startIndex,
int endIndex,
java.lang.Object... params)
根据sql查询区间数据
|
<T> java.util.List<T> |
limitBySql2NoMappingEntity(CacheContract cacheContract,
java.lang.Class<T> clazz,
java.lang.String sql,
int startIndex,
int endIndex,
java.lang.Object... params)
根据sql查询区间数据
|
<T> java.util.List<T> |
limitBySql2NoMappingEntity(java.lang.Class<T> clazz,
java.lang.String sql,
int startIndex,
int endIndex,
java.lang.Object... params)
根据sql查询区间数据
|
java.util.List |
pageByHql(CacheContract cacheContract,
java.lang.String hql,
int pageNo,
int pageSize,
java.lang.Object... params)
根据hql分页
|
java.util.List |
pageByHql(java.lang.String hql,
int pageNo,
int pageSize,
java.lang.Object... params)
根据hql分页
|
java.util.List<?> |
pageByHql2List(java.lang.String hql,
int pageNo,
int pageSize,
java.lang.Object... params)
根据hql分页
|
java.util.List<java.util.Map<java.lang.String,java.lang.Object>> |
pageByHql2Map(java.lang.String hql,
int pageNo,
int pageSize,
java.lang.Object... params)
根据hql分页
|
<T> java.util.List<T> |
pageByHql2NoMappingEntity(CacheContract cacheContract,
java.lang.Class<T> clazz,
java.lang.String hql,
int pageNo,
int pageSize,
java.lang.Object... params)
根据hql分页
|
<T> java.util.List<T> |
pageByHql2NoMappingEntity(java.lang.Class<T> clazz,
java.lang.String hql,
int pageNo,
int pageSize,
java.lang.Object... params)
根据hql分页
|
java.util.List |
pageBySql(java.lang.String sql,
int pageNo,
int pageSize,
java.lang.Object... params)
根据sql分页
|
java.util.List<java.util.List<java.lang.Object>> |
pageBySql2List(java.lang.String sql,
int pageNo,
int pageSize,
java.lang.Object... params)
根据sql分页
|
java.util.List<java.util.Map<java.lang.String,java.lang.Object>> |
pageBySql2Map(java.lang.String sql,
int pageNo,
int pageSize,
java.lang.Object... params)
根据sql分页
|
<T> java.util.List<T> |
pageBySql2MappingEntity(CacheContract cacheContract,
java.lang.Class<T> clazz,
java.lang.String sql,
int pageNo,
int pageSize,
java.lang.Object... params)
根据sql分页
|
<T> java.util.List<T> |
pageBySql2MappingEntity(java.lang.Class<T> clazz,
java.lang.String sql,
int pageNo,
int pageSize,
java.lang.Object... params)
根据sql分页
|
<T> java.util.List<T> |
pageBySql2NoMappingEntity(CacheContract cacheContract,
java.lang.Class<T> clazz,
java.lang.String sql,
int pageNo,
int pageSize,
java.lang.Object... params)
根据sql分页
|
<T> java.util.List<T> |
pageBySql2NoMappingEntity(java.lang.Class<T> clazz,
java.lang.String sql,
int pageNo,
int pageSize,
java.lang.Object... params)
根据sql分页
|
delete, delete, delete, get, getSession, getSessionFactory, load, loadAll, save, save, saveOrUpdate, update, updatepublic int execNoResultProc(java.lang.String procName,
java.lang.Object... params)
procName - 存储过程名 SQL语句 例 存储过程为 calcute(?,?,?)则 procName = calcute。params - 存储过程参数(只能为mode为IN的输入参数) 可变参数 例 存储过程为 calcute(?,?,?)则
?对应的变量则为参数public java.util.List<?> execWithListProc(java.lang.String procName,
java.lang.Object... params)
注意:如果返回的是多个结果集,只返回第一个结果集
procName - 存储过程名 SQL语句 例 存储过程为 calcute(?,?,?)则 procName = calcute。params - 存储过程参数(只能为mode为IN的输入参数) 可变参数 例 存储过程为 calcute(?,?,?)则
?对应的变量则为参数public <T> java.util.List<T> execWithMappingEntityListProc(java.lang.Class<T> clazz,
java.lang.String procName,
java.lang.Object... params)
注意:如果返回的是多个结果集,只返回第一个结果集
clazz - 实体类Class对象 标注了@Entity的实体类procName - 存储过程名 SQL语句 例 存储过程为 calcute(?,?,?)则 procName = calcute。params - 存储过程参数(只能为mode为IN的输入参数) 可变参数 例 存储过程为 calcute(?,?,?)则
?对应的变量则为参数public java.lang.Object execWithUniqueResultProc(java.lang.String procName,
java.lang.Object... params)
以执行mysql数据库的存储过程为例: CREATE DEFINER=`root`@`localhost` PROCEDURE `with_uniqueresult_list`() BEGIN select count(*) from log_record; END
procName - 存储过程名 SQL语句 例 存储过程为 calcute(?,?,?)则 procName = calcute。params - 存储过程参数(只能为mode为IN的输入参数) 可变参数 例 存储过程为 calcute(?,?,?)则
?对应的变量则为参数public Result execComplexProc(java.lang.String procName, java.lang.Integer returnValueType, Parameter... params)
复杂的意思是说存储过程既有返回值,还有多个结果集返回,还有多个输入输出参数。
drop procedure if exists MYSQL_PROCDURE;
delimiter $$
CREATE PROCDURE MYSQL_PROCDURE(IN inParam int,OUT outParam varchar(100),INOUT inputParam float)
begin
#OUT参数 outParam
select '我是一个mysql数据库的存储过程' into outParam;
#INOUT参数 inoutParam
set inputParam = inParam + inputParam;
#模拟输出3个结果集
select * from COFFEES;
select * from orders;
select * from suppliers;
end$$
调用上述存储过程:
Result result = this.baseDao.execComplexProc("MYSQL_PROCDURE",Parameter.makeIN(1,50),Parameter.makeOUT(2),Parameter.makeINOUT(3, 0.5f));
DELIMITER $$ CREATE FUNCTION `MYSQL_FUNCTION`() RETURNS int(11) BEGIN RETURN 500; END调用上述函数:
Resultresult = this.baseDao.execComplexProc("MYSQL_FUNCTION",Types.INTEGER);
public Result execComplexProc(java.lang.String procName, Parameter... params)
procName - 存储过程 或者 函数的名字params - 存储过程或者函数的参数,为可变参数。具体请看ParameterResultexecComplexProc(String, Integer, Parameter...)public Result execComplexProc(java.lang.String procName, java.lang.Integer returnValueType, java.util.List<Parameter> params)
procName - 存储过程 或者 函数的名字returnValueType - 如果存储过程有返回值,或者调用的是函数,则指定返回值的类型。参考Types
,如:Types.VARCHAR,Types.INTEGER等。反之则传NULL。params - 存储过程或者函数的参数,List集合。具体请看ParameterResultexecComplexProc(String, Integer, Parameter...)public Result execComplexProc(java.lang.String procName, java.util.List<Parameter> params)
procName - 存储过程 或者 函数的名字params - 存储过程或者函数的参数,List集合。具体请看ParameterResultexecComplexProc(String, Integer, Parameter...)public int execNoResultSql(java.lang.String sql,
java.lang.Object... params)
如:
baseDao.execNoResultSql("update sys_staff set name = '张三' where id = 1");
baseDao.execNoResultSql("delete sys_staff where id = 1");
sql - sql语句params - 可变参数public int execNoResultHql(java.lang.String hql,
java.lang.Object... params)
如:
baseDao.execNoResultHql("update Staff set name = ? where id = ?", '张三', 1);
baseDao.execNoResultHql("delete Staff where id = ?", 1);
hql - hql语句params - 可变参数public java.util.List execSqlWithResult(java.lang.String sql,
java.lang.Object... params)
如:
List list = baseDao.execNoResultHql("select id,name from sys_staff where name = '张三'");
for (Object obj : list) {
Object[] objArray = (Object[]) obj;
System.out.println(objArray[0]);//id
System.out.println(objArray[1]);//name
}
sql - sql语句params - 可变参数@Transactional(readOnly=true)
public java.lang.Object getUniqueResultByHql(java.lang.String hql,
java.lang.Object... params)
如:
Object obj = baseDao.getUniqueResultByHql("select name from Staff where id = ?", 1);
String name = (String)obj;
hql - 必须按以下格式 select name from Sonparams - @Transactional(readOnly=true)
public java.lang.Object getUniquePropertyByHql(java.lang.String hql,
java.lang.Object... params)
如:
Object obj = baseDao.getUniquePropertyByHql("select name from Staff where id = ?", 1);
String name = (String)obj;
hql - 特定Hql语句 如:select name from User where id = ?params - hql语句参数@Transactional(readOnly=true)
public int getCountByHql(java.lang.String hql,
java.lang.Object... params)
如:
int count = baseDao.getCountByHql("select count(*) from Person where age > ?", 1);
hql - 必须按以下格式 select count(*) from Son where age > ?params - hql语句参数@Transactional(readOnly=true)
public java.lang.Object getUniqueResultBySql(java.lang.String sql,
java.lang.Object... params)
如:
Object obj = baseDao.getUniqueResultBySql("select name from sys_staff where id = ?", 1);
String name = (String)obj;
sql - 特定sql语句 如:select name from User where id = ?params - hql语句参数@Transactional(readOnly=true)
public int getCountBySql(java.lang.String sql,
java.lang.Object... params)
如:
int count = baseDao.getCountBySql("select count(*) from person where age > ?", 1);
sql - 必须按以下格式 select count(*) from sonparams - 可变参数@Transactional(readOnly=true)
public <T> java.util.List<T> getByPk(java.lang.Class<T> clazz,
java.lang.String keyName,
java.lang.Object keyValue)
如: List<Person> list = baseDao.getByPk(Person.class, "name", "张三");
clazz - 映射实体类Class对象 如:Entity.classkeyName - 如:实体Entity中的属性 namekeyValue - 如:name 的值@Transactional(readOnly=true) public <T> java.util.List<T> getByPk(CacheContract cacheContract, java.lang.Class<T> clazz, java.lang.String keyName, java.lang.Object keyValue)
如: List<Person> list = baseDao.getByPk(Person.class, "name", "张三");
cacheContract - 二级缓存配置对象 参考CacheContract 如:CacheContract.CACHEABLE 或者 new CacheContract(true)clazz - 映射实体类Class对象 如:Entity.classkeyName - 如:实体Entity中的属性 namekeyValue - 如:name 的值@Transactional(readOnly=true)
public <T> java.util.List<T> getByPks(java.lang.Class<T> clazz,
java.lang.String[] keyNames,
java.lang.Object[] keyValues)
如:
List<Person> list = baseDao.getByPks(Person.class, new String[]{"name", "age"}, new Object[]{"张三", 25});
clazz - 映射实体类Class对象 如:Entity.classkeyNames - 关键字信息数组
如:实体Entity中的属性 namekeyValues - 关键字值信息数组
如:name 的值@Transactional(readOnly=true) public <T> java.util.List<T> getByPks(CacheContract cacheContract, java.lang.Class<T> clazz, java.lang.String[] keyNames, java.lang.Object[] keyValues)
如:
List<Person> list = baseDao.getByPks(Person.class, new String[]{"name", "age"}, new Object[]{"张三", 25});
cacheContract - 二级缓存配置对象 参考CacheContract 如:CacheContract.CACHEABLE 或者 new CacheContract(true)clazz - 映射实体类Class对象 如:Entity.classkeyNames - 关键字信息数组
如:实体Entity中的属性 namekeyValues - 关键字值信息数组
如:name 的值@Transactional(readOnly=true)
public <T> T getUniqueByPk(java.lang.Class<T> clazz,
java.lang.String keyName,
java.lang.Object keyValue)
如: Person person = baseDao.getUniqueByPk(Person.class, "name", "张三");
clazz - 映射实体类Class对象 如:Entity.classkeyName - 如:实体Entity中的属性 namekeyValue - 如:name 的值@Transactional(readOnly=true) public <T> T getUniqueByPk(CacheContract cacheContract, java.lang.Class<T> clazz, java.lang.String keyName, java.lang.Object keyValue)
如: Person person = baseDao.getUniqueByPk(Person.class, "name", "张三");
cacheContract - 二级缓存配置对象 参考CacheContract 如:CacheContract.CACHEABLE 或者 new CacheContract(true)clazz - 映射实体类Class对象 如:Entity.classkeyName - 如:实体Entity中的属性 namekeyValue - 如:name 的值@Transactional(readOnly=true)
public <T> T getUniqueByPks(java.lang.Class<T> clazz,
java.lang.String[] keyNames,
java.lang.Object[] keyValues)
如:
Person person = baseDao.getUniqueByPks(Person.class, new String[]{"name", "age"}, new Object[]{"张三", 25});
clazz - 映射实体类Class对象 如:Entity.classkeyNames - 数组
如:实体Entity中的属性 name,agekeyValues - 数组
如:name,age 的值@Transactional(readOnly=true) public <T> T getUniqueByPks(CacheContract cacheContract, java.lang.Class<T> clazz, java.lang.String[] keyNames, java.lang.Object[] keyValues)
如:
Person person = baseDao.getUniqueByPks(Person.class, new String[]{"name", "age"}, new Object[]{"张三", 25});
cacheContract - 二级缓存配置对象 参考CacheContract 如:CacheContract.CACHEABLE 或者 new CacheContract(true)clazz - 映射实体类Class对象 如:Entity.classkeyNames - 数组
如:实体Entity中的属性 name,agekeyValues - 数组
如:name,age 的值@Transactional(readOnly=true)
public java.util.List findByHql(java.lang.String hql,
java.lang.Object... params)
List<Person> list = (List<Person>)baseDao.findByHql("from Person where name = ? and age = ?", "张三", 25);
List list = baseDao.findByHql("select id,idCard,birthday from Person where name = ? and age = ?", "张三", 25);
for (Object obj : list) {
Object[] objArray = (Object[]) obj;
System.out.println(objArray[0]);//id
System.out.println(objArray[1]);//idCard
System.out.println(objArray[2]);//birthday
}
hql - params - 可变参数@Transactional(readOnly=true) public java.util.List findByHql(CacheContract cacheContract, java.lang.String hql, java.lang.Object... params)
List<Person> list = (List<Person>) baseDao.findByHql("from Person where name = ? and age = ?", "张三", 25);
List list = baseDao.findByHql("select id,idCard,birthday from Person where name = ? and age = ?", "张三", 25);
for (Object obj : list) {
Object[] objArray = (Object[]) obj;
System.out.println(objArray[0]);// id
System.out.println(objArray[1]);// idCard
System.out.println(objArray[2]);// birthday
}
cacheContract - 二级缓存配置对象 参考CacheContract 如:CacheContract.CACHEABLE 或者 new CacheContract(true)hql - params - 可变参数@Transactional(readOnly=true)
public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> findByHql2Map(java.lang.String hql,
java.lang.Object... params)
List<Map<String,Object>> list = baseDao.findByHql2Map("select id as id,idCard as ic,birthday as b from Person where name = ? and age = ?", "张三", 25);
for (Map<String,Object> map : list) {
System.out.println(map.get("id"));//id
System.out.println(map.get("ic"));//idCard
System.out.println(map.get("b"));//birthday
}
hql - 格式只能为 select prop1 as alias1, ... , propN as aliasN from
Entityparams - 可变参数@Transactional(readOnly=true)
public java.util.List<?> findByHql2List(java.lang.String hql,
java.lang.Object... params)
List<Person> list = (List<Person>)baseDao.findByHql2List("from Person where name = ? and age = ?", "张三", 25);
List<?> list = baseDao.findByHql2List("select id,idCard,birthday from Person where name = ? and age = ?", "张三", 25);
for (Object object : list) {
List<Object> objList = (List<Object>) object;
System.out.println(objList.get(0));//id
System.out.println(objList.get(1));//idCard
System.out.println(objList.get(2));//birthday
}
hql - params - 可变参数@Transactional(readOnly=true)
public <T> java.util.List<T> findByHql2NoMappingEntity(java.lang.Class<T> clazz,
java.lang.String hql,
java.lang.Object... params)
List<Person> list = baseDao.findByHql2NoMappingEntity(Person.class, "select id as id,idCard as idCard,birthday as birthday from Person where name = ? and age = ?", "张三", 25);
clazz - 非映射实体类Class对象hql - 格式只能为 select prop1 as alias1, ... , propN as aliasN from
Entityparams - 可变参数@Transactional(readOnly=true) public <T> java.util.List<T> findByHql2NoMappingEntity(CacheContract cacheContract, java.lang.Class<T> clazz, java.lang.String hql, java.lang.Object... params)
List<Person> list = baseDao.findByHql2NoMappingEntity(Person.class, "select id as id,idCard as idCard,birthday as birthday from Person where name = ? and age = ?", "张三", 25);
cacheContract - 二级缓存配置对象 参考CacheContract 如:CacheContract.CACHEABLE 或者 new CacheContract(true)clazz - 非映射实体类Class对象hql - 格式只能为 select prop1 as alias1, ... , propN as aliasN from Entityparams - 可变参数@Transactional(readOnly=true)
public java.util.List findBySql(java.lang.String sql,
java.lang.Object... params)
List list = baseDao.findBySql("select id,idcard,birthday from person where name = ? and age = ?", "张三", 25);
for (Object obj : list) {
Object[] objArray = (Object[]) obj;
System.out.println(objArray[0]);//id
System.out.println(objArray[1]);//idcard
System.out.println(objArray[2]);//birthday
}
sql - 带有参数的sql语句params - 可变参数@Transactional(readOnly=true)
public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> findBySql2Map(java.lang.String sql,
java.lang.Object... params)
List<Map<String,Object>> list = baseDao.findBySql2Map("select id,idcard,birthday from person where name = ? and age = ?", "张三", 25);
for (Map<String,Object> map : list) {
System.out.println(map.get("id"));//id
System.out.println(map.get("idcard"));//idcard
System.out.println(map.get("birthday"));//birthday
}
sql - 带有参数的sql语句params - 可变参数@Transactional(readOnly=true)
public java.util.List<java.util.List<java.lang.Object>> findBySql2List(java.lang.String sql,
java.lang.Object... params)
List<List<Object>> list = baseDao.findBySql2List("select id,idcard,birthday from person where name = ? and age = ?", "张三", 25);
for (List<Object> objList : list) {
System.out.println(objList.get(0));//id
System.out.println(objList.get(1));//idCard
System.out.println(objList.get(2));//birthday
}
sql - 带有参数的sql语句params - 可变参数@Transactional(readOnly=true)
public <T> java.util.List<T> findBySql2NoMappingEntity(java.lang.Class<T> clazz,
java.lang.String sql,
java.lang.Object... params)
List<Person> list = baseDao.findBySql2NoMappingEntity(Person.class, "select id as id,idcard as idCard,birthday as birthday from person where name = ? and age = ?", "张三", 25);
clazz - 非映射实体类Class对象sql - 带有参数的sql语句params - 可变参数@Transactional(readOnly=true) public <T> java.util.List<T> findBySql2NoMappingEntity(CacheContract cacheContract, java.lang.Class<T> clazz, java.lang.String sql, java.lang.Object... params)
List<Person> list = baseDao.findBySql2NoMappingEntity(Person.class, "select id as id,idcard as idCard,birthday as birthday from person where name = ? and age = ?", "张三", 25);
cacheContract - 二级缓存配置对象 参考CacheContract 如:CacheContract.CACHEABLE 或者 new CacheContract(true)clazz - 非映射实体类Class对象sql - 带有参数的sql语句params - 可变参数@Transactional(readOnly=true)
public <T> java.util.List<T> findBySql2MappingEntity(java.lang.Class<T> clazz,
java.lang.String sql,
java.lang.Object... params)
List<Person> list = baseDao.findBySql2MappingEntity(Person.class, "select id as id,idcard as idCard,birthday as birthday from person where name = ? and age = ?", "张三", 25);
clazz - 映射实体类Class对象sql - 带有参数的sql语句params - 可变参数@Transactional(readOnly=true) public <T> java.util.List<T> findBySql2MappingEntity(CacheContract cacheContract, java.lang.Class<T> clazz, java.lang.String sql, java.lang.Object... params)
List<Person> list = baseDao.findBySql2MappingEntity(Person.class, "select id as id,idcard as idCard,birthday as birthday from person where name = ? and age = ?", "张三", 25);
cacheContract - 二级缓存配置对象 参考CacheContract 如:CacheContract.CACHEABLE 或者 new CacheContract(true)clazz - 映射实体类Class对象sql - 带有参数的sql语句params - 可变参数@Transactional(readOnly=true)
public java.util.List limitByHql(java.lang.String hql,
int startIndex,
int endIndex,
java.lang.Object... params)
得到第一条记录
List<Person> list = (List<Person>)baseDao.limitByHql("from Person where name = ? and age = ?", 0, 1, "张三", 25);
List list = baseDao.limitByHql("select id,idCard,birthday from Person where name = ? and age = ?", 0, 1, "张三", 25);
for (Object obj : list) {
Object[] objArray = (Object[]) obj;
System.out.println(objArray[0]);//id
System.out.println(objArray[1]);//idCard
System.out.println(objArray[2]);//birthday
}
hql - startIndex - 不能为小于零endIndex - 不能为小于零,不能小于startIndexparams - 可变参数@Transactional(readOnly=true) public java.util.List limitByHql(CacheContract cacheContract, java.lang.String hql, int startIndex, int endIndex, java.lang.Object... params)
得到第一条记录
List<Person> list = (List<Person>)baseDao.limitByHql("from Person where name = ? and age = ?", 0, 1, "张三", 25);
List list = baseDao.limitByHql("select id,idCard,birthday from Person where name = ? and age = ?", 0, 1, "张三", 25);
for (Object obj : list) {
Object[] objArray = (Object[]) obj;
System.out.println(objArray[0]);//id
System.out.println(objArray[1]);//idCard
System.out.println(objArray[2]);//birthday
}
cacheContract - 二级缓存配置对象 参考CacheContract 如:CacheContract.CACHEABLE 或者 new CacheContract(true)hql - startIndex - 不能为小于零endIndex - 不能为小于零,不能小于startIndexparams - 可变参数@Transactional(readOnly=true)
public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> limitByHql2Map(java.lang.String hql,
int startIndex,
int endIndex,
java.lang.Object... params)
hql - 格式只能为 select prop1 as alias1, ... , propN as aliasN from
EntitystartIndex - 不能为小于零endIndex - 不能为小于零,不能小于startIndexparams - 可变参数limitByHql(String, int, int, Object...),
findByHql2Map(String, Object...)@Transactional(readOnly=true)
public java.util.List<?> limitByHql2List(java.lang.String hql,
int startIndex,
int endIndex,
java.lang.Object... params)
hql - startIndex - 不能为小于零endIndex - 不能为小于零,不能小于startIndexparams - 可变参数limitByHql(String, int, int, Object...),
findByHql2List(String, Object...)@Transactional(readOnly=true)
public <T> java.util.List<T> limitByHql2NoMappingEntity(java.lang.Class<T> clazz,
java.lang.String hql,
int startIndex,
int endIndex,
java.lang.Object... params)
clazz - 非映射实体类Class对象hql - 格式只能为 select prop1 as alias1, ... , propN as aliasN from
EntitystartIndex - 不能为小于零endIndex - 不能为小于零,不能小于startIndexparams - 可变参数limitByHql(String, int, int, Object...),
findByHql2NoMappingEntity(Class, String, Object...)@Transactional(readOnly=true) public <T> java.util.List<T> limitByHql2NoMappingEntity(CacheContract cacheContract, java.lang.Class<T> clazz, java.lang.String hql, int startIndex, int endIndex, java.lang.Object... params)
cacheContract - 二级缓存配置对象 参考CacheContract 如:CacheContract.CACHEABLE 或者 new CacheContract(true)clazz - 非映射实体类Class对象hql - 格式只能为 select prop1 as alias1, ... , propN as aliasN from
EntitystartIndex - 不能为小于零endIndex - 不能为小于零,不能小于startIndexparams - 可变参数limitByHql(String, int, int, Object...),
findByHql2NoMappingEntity(Class, String, Object...)@Transactional(readOnly=true)
public java.util.List limitBySql(java.lang.String sql,
int startIndex,
int endIndex,
java.lang.Object... params)
取得第一条数据
List list = baseDao.limitBySql("select id,idcard,birthday from person where name = ? and age = ?", 0, 1, "张三", 25);
for (Object obj : list) {
Object[] objArray = (Object[]) obj;
System.out.println(objArray[0]);//id
System.out.println(objArray[1]);//idcard
System.out.println(objArray[2]);//birthday
}
sql - 带有参数的sql语句startIndex - 不能为小于零endIndex - 不能为小于零,不能小于startIndexparams - 可变参数@Transactional(readOnly=true)
public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> limitBySql2Map(java.lang.String sql,
int startIndex,
int endIndex,
java.lang.Object... params)
sql - 带有参数的sql语句startIndex - 不能为小于零endIndex - 不能为小于零,不能小于startIndexparams - 可变参数limitBySql(String, int, int, Object...),
findBySql2Map(String, Object...)@Transactional(readOnly=true)
public java.util.List<java.util.List<java.lang.Object>> limitBySql2List(java.lang.String sql,
int startIndex,
int endIndex,
java.lang.Object... params)
sql - 带有参数的sql语句startIndex - 不能为小于零endIndex - 不能为小于零,不能小于startIndexparams - 可变参数limitBySql(String, int, int, Object...),
findBySql2List(String, Object...)@Transactional(readOnly=true)
public <T> java.util.List<T> limitBySql2NoMappingEntity(java.lang.Class<T> clazz,
java.lang.String sql,
int startIndex,
int endIndex,
java.lang.Object... params)
clazz - 非映射实体类Class对象sql - 带有参数的sql语句startIndex - 不能为小于零endIndex - 不能为小于零,不能小于startIndexparams - 可变参数limitBySql(String, int, int, Object...),
findBySql2NoMappingEntity(Class, String, Object...)@Transactional(readOnly=true) public <T> java.util.List<T> limitBySql2NoMappingEntity(CacheContract cacheContract, java.lang.Class<T> clazz, java.lang.String sql, int startIndex, int endIndex, java.lang.Object... params)
cacheContract - 二级缓存配置对象 参考CacheContract 如:CacheContract.CACHEABLE 或者 new CacheContract(true)clazz - 非映射实体类Class对象sql - 带有参数的sql语句startIndex - 不能为小于零endIndex - 不能为小于零,不能小于startIndexparams - 可变参数limitBySql(String, int, int, Object...),
findBySql2NoMappingEntity(Class, String, Object...)@Transactional(readOnly=true)
public <T> java.util.List<T> limitBySql2MappingEntity(java.lang.Class<T> clazz,
java.lang.String sql,
int startIndex,
int endIndex,
java.lang.Object... params)
clazz - 映射实体类Class对象sql - 带有参数的sql语句startIndex - 不能为小于零endIndex - 不能为小于零,不能小于startIndexparams - 可变参数limitBySql(String, int, int, Object...),
findBySql2MappingEntity(Class, String, Object...)@Transactional(readOnly=true) public <T> java.util.List<T> limitBySql2MappingEntity(CacheContract cacheContract, java.lang.Class<T> clazz, java.lang.String sql, int startIndex, int endIndex, java.lang.Object... params)
cacheContract - 二级缓存配置对象 参考CacheContract 如:CacheContract.CACHEABLE 或者 new CacheContract(true)clazz - 映射实体类Class对象sql - 带有参数的sql语句startIndex - 不能为小于零endIndex - 不能为小于零,不能小于startIndexparams - 可变参数limitBySql(String, int, int, Object...),
findBySql2MappingEntity(Class, String, Object...)@Transactional(readOnly=true)
public java.util.List pageByHql(java.lang.String hql,
int pageNo,
int pageSize,
java.lang.Object... params)
以每页20条记录,查看第2页为例
List<Person> list = (List<Person>)baseDao.limitByHql("from Person where name = ? and age = ?", 2, 20, "张三", 25);
List list = baseDao.limitByHql("select id,idCard,birthday from Person where name = ? and age = ?", 2, 20, "张三", 25);
for (Object obj : list) {
Object[] objArray = (Object[]) obj;
System.out.println(objArray[0]);//id
System.out.println(objArray[1]);//idCard
System.out.println(objArray[2]);//birthday
}
hql - pageNo - 当前页码 必须大于等于1pageSize - 分页大小 必须大于等于1params - 可变参数@Transactional(readOnly=true) public java.util.List pageByHql(CacheContract cacheContract, java.lang.String hql, int pageNo, int pageSize, java.lang.Object... params)
以每页20条记录,查看第2页为例
List<Person> list = (List<Person>)baseDao.limitByHql("from Person where name = ? and age = ?", 2, 20, "张三", 25);
List list = baseDao.limitByHql("select id,idCard,birthday from Person where name = ? and age = ?", 2, 20, "张三", 25);
for (Object obj : list) {
Object[] objArray = (Object[]) obj;
System.out.println(objArray[0]);//id
System.out.println(objArray[1]);//idCard
System.out.println(objArray[2]);//birthday
}
cacheContract - 二级缓存配置对象 参考CacheContract 如:CacheContract.CACHEABLE 或者 new CacheContract(true)hql - pageNo - 当前页码 必须大于等于1pageSize - 分页大小 必须大于等于1params - 可变参数@Transactional(readOnly=true)
public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> pageByHql2Map(java.lang.String hql,
int pageNo,
int pageSize,
java.lang.Object... params)
hql - 格式只能为 select prop1 as alias1, ... , propN as aliasN from
EntitypageNo - 当前页码 必须大于等于1pageSize - 分页大小 必须大于等于1params - 可变参数pageByHql(String, int, int, Object...),
findByHql2Map(String, Object...)@Transactional(readOnly=true)
public java.util.List<?> pageByHql2List(java.lang.String hql,
int pageNo,
int pageSize,
java.lang.Object... params)
hql - pageNo - 当前页码 必须大于等于1pageSize - 分页大小 必须大于等于1params - 可变参数pageByHql(String, int, int, Object...),
findByHql2List(String, Object...)@Transactional(readOnly=true)
public <T> java.util.List<T> pageByHql2NoMappingEntity(java.lang.Class<T> clazz,
java.lang.String hql,
int pageNo,
int pageSize,
java.lang.Object... params)
clazz - 非映射实体类Class对象hql - 格式只能为 select prop1 as alias1, ... , propN as aliasN from
EntitypageNo - 当前页码 必须大于等于1pageSize - 分页大小 必须大于等于1params - 可变参数pageByHql(String, int, int, Object...),
findByHql2NoMappingEntity(Class, String, Object...)@Transactional(readOnly=true) public <T> java.util.List<T> pageByHql2NoMappingEntity(CacheContract cacheContract, java.lang.Class<T> clazz, java.lang.String hql, int pageNo, int pageSize, java.lang.Object... params)
cacheContract - 二级缓存配置对象 参考CacheContract 如:CacheContract.CACHEABLE 或者 new CacheContract(true)clazz - 非映射实体类Class对象hql - 格式只能为 select prop1 as alias1, ... , propN as aliasN from
EntitypageNo - 当前页码 必须大于等于1pageSize - 分页大小 必须大于等于1params - 可变参数pageByHql(String, int, int, Object...),
findByHql2NoMappingEntity(Class, String, Object...)@Transactional(readOnly=true)
public java.util.List pageBySql(java.lang.String sql,
int pageNo,
int pageSize,
java.lang.Object... params)
以每页20条记录,查看第2页为例
List list = baseDao.limitBySql("select id,idcard,birthday from person where name = ? and age = ?", 2, 20, "张三", 25);
for (Object obj : list) {
Object[] objArray = (Object[]) obj;
System.out.println(objArray[0]);//id
System.out.println(objArray[1]);//idcard
System.out.println(objArray[2]);//birthday
}
sql - sql语句pageNo - 必须大于等于1pageSize - 必须大于等于1params - 可变参数:如sql语句中的 ? 占位符pageByHql(String, int, int, Object...),
findByHql2NoMappingEntity(Class, String, Object...)@Transactional(readOnly=true)
public java.util.List<java.util.List<java.lang.Object>> pageBySql2List(java.lang.String sql,
int pageNo,
int pageSize,
java.lang.Object... params)
sql - sql语句pageNo - 必须大于等于1pageSize - 必须大于等于1params - 可变参数:如sql语句中的 ? 占位符pageBySql(String, int, int, Object...),
findBySql2List(String, Object...)@Transactional(readOnly=true)
public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> pageBySql2Map(java.lang.String sql,
int pageNo,
int pageSize,
java.lang.Object... params)
sql - sql语句pageNo - 必须大于等于1pageSize - 必须大于等于1params - 可变参数:如sql语句中的 ? 占位符pageBySql(String, int, int, Object...),
findBySql2Map(String, Object...)@Transactional(readOnly=true)
public <T> java.util.List<T> pageBySql2NoMappingEntity(java.lang.Class<T> clazz,
java.lang.String sql,
int pageNo,
int pageSize,
java.lang.Object... params)
clazz - 非映射实体类Class对象sql - sql语句pageNo - 必须大于等于1pageSize - 必须大于等于1params - 可变参数:如sql语句中的 ? 占位符pageBySql(String, int, int, Object...),
findBySql2NoMappingEntity(Class, String, Object...)@Transactional(readOnly=true) public <T> java.util.List<T> pageBySql2NoMappingEntity(CacheContract cacheContract, java.lang.Class<T> clazz, java.lang.String sql, int pageNo, int pageSize, java.lang.Object... params)
cacheContract - 二级缓存配置对象 参考CacheContract 如:CacheContract.CACHEABLE 或者 new CacheContract(true)clazz - 非映射实体类Class对象sql - sql语句pageNo - 必须大于等于1pageSize - 必须大于等于1params - 可变参数:如sql语句中的 ? 占位符pageBySql(String, int, int, Object...),
findBySql2NoMappingEntity(Class, String, Object...)@Transactional(readOnly=true)
public <T> java.util.List<T> pageBySql2MappingEntity(java.lang.Class<T> clazz,
java.lang.String sql,
int pageNo,
int pageSize,
java.lang.Object... params)
clazz - 映射实体类Class对象sql - sql语句pageNo - 必须大于等于1pageSize - 必须大于等于1params - 可变参数:如sql语句中的 ? 占位符pageBySql(String, int, int, Object...),
findBySql2MappingEntity(Class, String, Object...)@Transactional(readOnly=true) public <T> java.util.List<T> pageBySql2MappingEntity(CacheContract cacheContract, java.lang.Class<T> clazz, java.lang.String sql, int pageNo, int pageSize, java.lang.Object... params)
cacheContract - 二级缓存配置对象 参考CacheContract 如:CacheContract.CACHEABLE 或者 new CacheContract(true)clazz - 映射实体类Class对象sql - sql语句pageNo - 必须大于等于1pageSize - 必须大于等于1params - 可变参数:如sql语句中的 ? 占位符pageBySql(String, int, int, Object...),
findBySql2MappingEntity(Class, String, Object...)