Liferay 版本 6.0 EE
在liferay中进行数据库查询,一般使用service builder生成的 *PersistentImpl就能满足需求,但是当然有例外情况需要自定义查询-custom sql。
1. 在src目录下建立文件夹custom-sql, 建立文件default.xml
2. 在 *.service.persistence 包内创建 AddressBookinderImpl
public class AddressBookFinderImpl extends BasePersistenceImpl<AddressBook> implements AddressBookFinder{
3. 为AddressBookFinderImpl添加两个方法, 在build一下
public int countByS_S_P(String streetNames, long state, long postcode)
throws PortalException, SystemException {
return 0;
}
public List<AddressBook> findByS_S_P(
String streetNames, long state, long postcode, int start,
int end)
throws PortalException, SystemException {
return null;
}
4. 写default.xml内的自定义sql语句
<?xml version="1.0"?>
<custom-sql>
<sql id="test.AddressBook.service.persistence.AddressBookFinder.countByS_S_P">
<![CDATA[
SELECT
COUNT(*) AS COUNT_VALUE
FROM
AddressBook_AddressBook
WHERE