- 浏览: 356762 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
willsonbin:
赞~实用
表格行记录动态增加和删除 -
ljj1160347188:
/偷笑 楼主 你欺负我们这些新学的么
java的转义字符 -
zx5191:
啥jb玩意啊
java的转义字符 -
hyde12:
楼主要严谨点
java的转义字符 -
iteeye:
楼主要严谨点
java的转义字符
liferay对数据库的操作他有自已的一套写法,我们可以用service.xml来自动生成这些代码, 这样就省了不少力气.在ext-impl包的classes下面service.xml写上数据库表字段如下:
这个配置文件写好了以后,build-service这个文件,然后你就会发现在你的ext-service包中com.test.portlet.ecperp.model包下面生成三个java文件:
ecpErpCostCenter.java:
ecpErpCostCenterModel.java:
ecpErpCostCenterSoap.java:
在com.test.portlet.ecperp.service包中生成几个java文件。
ecpErpCostCenterLocalService.java:
在ext-impl/classes/META-INF/ext-spring.xml配置文件中自动生成信息:
然后要修改其中的三个文件,ext-service/新建包名/service/***EntryService.java和***EntryServiceUtil.java,***EntryService.java这个是个接口,你可以把你要用到的一些持久化的方法(ext-impl/新建包名/service/***Entrypersistence.java中有所有的方法)写到这里,***EntryServiceUtil.java这里写上这些静态方法(在action中操作的时候就是调用这个类),最后一个要修改的是ext-impl/新建包名/service/impl/***EntryServiceImpl.java因为他实现了,***EntryService这个接口所以把他的实现方法写这里就好了.
以上我说的可能比较粗糙,其实自动生成这些文件后,修改那三个文件时,如果您不知道怎么改可以参照liferay的源码,他的目录层次和这个是一样的,在blog和journalArtlice里面相对应的三个文件就可以了,基本上是一看就明白了.最后一点自动生成spring.xml中bean id="com.ext.portlet.包名.service.persistence.***EntryPersistenceImpl 对应的class值,这个值每次总是个错的,不晓得为什么,要手动的改一下.
<?xml version="1.0"?> <!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 4.3.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_4_3_0.dtd"> <service-builder root-dir=".." package-path="com.pccw.portlet"> <!-- ecp.ecpErp.portlet--> <portlet name="ecpErp" short-name="ecpErp" /> <entity name="ecpErpEmployee" local-service="true" remote-service="true" table="Ecp_Erp_Employee"><!-- 员工表 --> <!-- PK fields --> <column name="ecpEmployeeId" type="Long" primary="true" db-name="ecpEmployeeId"/> <!-- Audit fields --> <!-- column name这个值是要和表中的字段名一样,会自动全变成大写. --> <column name="employeeNumber" type="String"/> <column name="employeeName" type="String"/> <column name="companyCode" type="String"/> <column name="departmentCode" type="String"/> <column name="email" type="String"/> <column name="tel" type="String"/> <column name="supplierId" type="Long"/> <column name="bank" type="String"/> <column name="account" type="String"/> <column name="orgId" type="String"/> <column name="userId" type="Long"/> <column name="creater" type="String"/> <column name="creatTime" type="Long"/> <column name="updater" type="String"/> <column name="updateTime" type="Long"/> <column name="attribute1" type="String"/> <column name="attribute2" type="String"/> <column name="attribute3" type="String"/> <column name="attribute4" type="String"/> <column name="attribute5" type="String"/> <!-- Order --> <order by="asc"> <order-column name="employeeNumber" /> </order> <!-- Finder methods --> <finder name="userId" return-type="ecpErpEmployee" > <finder-column name="userId"/> </finder> <!--增加的查找,删除的方法,默认情况下liferay会自动生成一些常用的方法,如:主键查找(findById(long id)),查找所有(findAll()),删除(delete***(long id)).你可以根据自已的需要来增加一些方法,包括多个字段的组合查找. --> <finder name="employeeName" return-type="Collection" > <finder-column name="employeeName"/> </finder> </entity>
这个配置文件写好了以后,build-service这个文件,然后你就会发现在你的ext-service包中com.test.portlet.ecperp.model包下面生成三个java文件:
ecpErpCostCenter.java:
public interface ecpErpCostCenter extends ecpErpCostCenterModel { }
ecpErpCostCenterModel.java:
import com.liferay.portal.model.BaseModel; public interface ecpErpCostCenterModel extends BaseModel { public Long getPrimaryKey(); public void setPrimaryKey(Long pk); public Long getCostCenterId(); public void setCostCenterId(Long costCenterId); public String getErpCodeId(); public void setErpCodeId(String erpCodeId); public String getCostCenterCode(); public void setCostCenterCode(String costCenterCode); public String getCostCenterName(); public void setCostCenterName(String costCenterName); public String getDescription(); public void setDescription(String description); public String getCreater(); public void setCreater(String creater); public Long getCreatTime(); public void setCreatTime(Long creatTime); public String getUpdater(); public void setUpdater(String updater); public Long getUpdateTime(); public void setUpdateTime(Long updateTime); public String getAttribute1(); public void setAttribute1(String attribute1); public String getAttribute2(); public void setAttribute2(String attribute2); public String getAttribute3(); public void setAttribute3(String attribute3); public String getAttribute4(); public void setAttribute4(String attribute4); public String getAttribute5(); public void setAttribute5(String attribute5); }
ecpErpCostCenterSoap.java:
import java.io.Serializable; import java.util.ArrayList; import java.util.List; public class ecpErpCostCenterSoap implements Serializable { private Long _costCenterId; private String _erpCodeId; private String _costCenterCode; private String _costCenterName; private String _description; private String _creater; private Long _creatTime; private String _updater; private Long _updateTime; private String _attribute1; private String _attribute2; private String _attribute3; private String _attribute4; private String _attribute5; public ecpErpCostCenterSoap() { } public static ecpErpCostCenterSoap toSoapModel(ecpErpCostCenter model) { ecpErpCostCenterSoap soapModel = new ecpErpCostCenterSoap(); soapModel.setCostCenterId(model.getCostCenterId()); soapModel.setErpCodeId(model.getErpCodeId()); soapModel.setCostCenterCode(model.getCostCenterCode()); soapModel.setCostCenterName(model.getCostCenterName()); soapModel.setDescription(model.getDescription()); soapModel.setCreater(model.getCreater()); soapModel.setCreatTime(model.getCreatTime()); soapModel.setUpdater(model.getUpdater()); soapModel.setUpdateTime(model.getUpdateTime()); soapModel.setAttribute1(model.getAttribute1()); soapModel.setAttribute2(model.getAttribute2()); soapModel.setAttribute3(model.getAttribute3()); soapModel.setAttribute4(model.getAttribute4()); soapModel.setAttribute5(model.getAttribute5()); return soapModel; } public static ecpErpCostCenterSoap[] toSoapModels(List models) { List soapModels = new ArrayList(models.size()); for (int i = 0; i < models.size(); i++) { ecpErpCostCenter model = (ecpErpCostCenter) models.get(i); soapModels.add(toSoapModel(model)); } return (ecpErpCostCenterSoap[]) soapModels.toArray(new ecpErpCostCenterSoap[0]); } public Long getPrimaryKey() { return _costCenterId; } public void setPrimaryKey(Long pk) { setCostCenterId(pk); } public Long getCostCenterId() { return _costCenterId; } public void setCostCenterId(Long costCenterId) { _costCenterId = costCenterId; } public String getErpCodeId() { return _erpCodeId; } public void setErpCodeId(String erpCodeId) { _erpCodeId = erpCodeId; } public String getCostCenterCode() { return _costCenterCode; } public void setCostCenterCode(String costCenterCode) { _costCenterCode = costCenterCode; } public String getCostCenterName() { return _costCenterName; } public void setCostCenterName(String costCenterName) { _costCenterName = costCenterName; } public String getDescription() { return _description; } public void setDescription(String description) { _description = description; } public String getCreater() { return _creater; } public void setCreater(String creater) { _creater = creater; } public Long getCreatTime() { return _creatTime; } public void setCreatTime(Long creatTime) { _creatTime = creatTime; } public String getUpdater() { return _updater; } public void setUpdater(String updater) { _updater = updater; } public Long getUpdateTime() { return _updateTime; } public void setUpdateTime(Long updateTime) { _updateTime = updateTime; } public String getAttribute1() { return _attribute1; } public void setAttribute1(String attribute1) { _attribute1 = attribute1; } public String getAttribute2() { return _attribute2; } public void setAttribute2(String attribute2) { _attribute2 = attribute2; } public String getAttribute3() { return _attribute3; } public void setAttribute3(String attribute3) { _attribute3 = attribute3; } public String getAttribute4() { return _attribute4; } public void setAttribute4(String attribute4) { _attribute4 = attribute4; } public String getAttribute5() { return _attribute5; } public void setAttribute5(String attribute5) { _attribute5 = attribute5; } }
在com.test.portlet.ecperp.service包中生成几个java文件。
ecpErpCostCenterLocalService.java:
public interface ecpErpCostCenterLocalService { public java.util.List dynamicQuery( com.liferay.portal.kernel.dao.DynamicQueryInitializer queryInitializer) throws com.liferay.portal.SystemException; public java.util.List dynamicQuery( com.liferay.portal.kernel.dao.DynamicQueryInitializer queryInitializer, int begin, int end) throws com.liferay.portal.SystemException; // 增加 public com.pccw.portlet.ecperp.model.ecpErpCostCenter createecpErpCostCenter( com.pccw.portlet.ecperp.model.ecpErpCostCenter account); // 根据主键删除 public com.pccw.portlet.ecperp.model.ecpErpCostCenter deleteecpErpCostCenter( java.lang.Long ecpAccountId) throws com.liferay.portal.SystemException; // 更新 public com.pccw.portlet.ecperp.model.ecpErpCostCenter updateecpErpCostCenter( com.pccw.portlet.ecperp.model.ecpErpCostCenter center) throws com.liferay.portal.SystemException; // 主键查找 public com.pccw.portlet.ecperp.model.ecpErpCostCenter findByCenterId( java.lang.Long centerId) throws com.liferay.portal.SystemException, com.pccw.portlet.ecperp.NoSuchAccountException; // 查找所有 public java.util.List findAll() throws com.liferay.portal.SystemException; }
在ext-impl/classes/META-INF/ext-spring.xml配置文件中自动生成信息:
<bean id="com.pccw.portlet.ecperp.service.ecpErpCostCenterLocalService.professional" class="com.pccw.portlet.ecperp.service.impl.ecpErpCostCenterLocalServiceImpl" lazy-init="true" /> <bean id="com.pccw.portlet.ecperp.service.ecpErpCostCenterLocalService.transaction" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" lazy-init="true"> <property name="transactionManager"> <ref bean="liferayTransactionManager" /> </property> <property name="target"> <ref bean="com.pccw.portlet.ecperp.service.ecpErpCostCenterLocalService.professional" /> </property> <property name="transactionAttributes"> <props> <prop key="add*">PROPAGATION_REQUIRED</prop> <prop key="check*">PROPAGATION_REQUIRED</prop> <prop key="clear*">PROPAGATION_REQUIRED</prop> <prop key="delete*">PROPAGATION_REQUIRED</prop> <prop key="set*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="*">PROPAGATION_SUPPORTS,readOnly</prop> </props> </property> </bean> <bean id="com.pccw.portlet.ecperp.service.ecpErpCostCenterLocalServiceFactory" class="com.pccw.portlet.ecperp.service.ecpErpCostCenterLocalServiceFactory" lazy-init="true"> <property name="service"> <ref bean="com.pccw.portlet.ecperp.service.ecpErpCostCenterLocalService.transaction" /> </property> </bean> <bean id="com.pccw.portlet.ecperp.service.ecpErpCostCenterService.professional" class="com.pccw.portlet.ecperp.service.impl.ecpErpCostCenterServiceImpl" lazy-init="true" /> <bean id="com.pccw.portlet.ecperp.service.ecpErpCostCenterService.transaction" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" lazy-init="true"> <property name="transactionManager"> <ref bean="liferayTransactionManager" /> </property> <property name="target"> <ref bean="com.pccw.portlet.ecperp.service.ecpErpCostCenterService.professional" /> </property> <property name="transactionAttributes"> <props> <prop key="add*">PROPAGATION_REQUIRED</prop> <prop key="check*">PROPAGATION_REQUIRED</prop> <prop key="clear*">PROPAGATION_REQUIRED</prop> <prop key="delete*">PROPAGATION_REQUIRED</prop> <prop key="set*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="*">PROPAGATION_SUPPORTS,readOnly</prop> </props> </property> </bean> <bean id="com.pccw.portlet.ecperp.service.ecpErpCostCenterServiceFactory" class="com.pccw.portlet.ecperp.service.ecpErpCostCenterServiceFactory" lazy-init="true"> <property name="service"> <ref bean="com.pccw.portlet.ecperp.service.ecpErpCostCenterService.transaction" /> </property> </bean> <bean id="com.pccw.portlet.ecperp.service.persistence.ecpErpCostCenterPersistenceImpl" class="com.pccw.portlet.ecperp.service.persistence.ecpErpCostCenterPersistenceImpl" lazy-init="true"> <property name="dataSource"> <ref bean="liferayDataSource" /> </property> <property name="sessionFactory"> <ref bean="liferaySessionFactory" /> </property> </bean> <bean id="com.pccw.portlet.ecperp.service.persistence.ecpErpCostCenterUtil" class="com.pccw.portlet.ecperp.service.persistence.ecpErpCostCenterUtil" lazy-init="true"> <property name="persistence"> <ref bean="com.pccw.portlet.ecperp.service.persistence.ecpErpCostCenterPersistenceImpl" /> </property> </bean>
然后要修改其中的三个文件,ext-service/新建包名/service/***EntryService.java和***EntryServiceUtil.java,***EntryService.java这个是个接口,你可以把你要用到的一些持久化的方法(ext-impl/新建包名/service/***Entrypersistence.java中有所有的方法)写到这里,***EntryServiceUtil.java这里写上这些静态方法(在action中操作的时候就是调用这个类),最后一个要修改的是ext-impl/新建包名/service/impl/***EntryServiceImpl.java因为他实现了,***EntryService这个接口所以把他的实现方法写这里就好了.
以上我说的可能比较粗糙,其实自动生成这些文件后,修改那三个文件时,如果您不知道怎么改可以参照liferay的源码,他的目录层次和这个是一样的,在blog和journalArtlice里面相对应的三个文件就可以了,基本上是一看就明白了.最后一点自动生成spring.xml中bean id="com.ext.portlet.包名.service.persistence.***EntryPersistenceImpl 对应的class值,这个值每次总是个错的,不晓得为什么,要手动的改一下.
相关推荐
liferay代码生成器liferay代码生成器liferay代码生成器liferay代码生成器liferay代码生成器liferay代码生成器liferay代码生成器
Liferay开发实战(2):Service Builder生成持久化层,一个简单留言板的例子。 http://www.cnblogs.com/starcrm/p/5175674.html
NULL 博文链接:https://123ken123.iteye.com/blog/670666
由Liferay_Portal构建系统,方便快捷,值得使用
liferay是一个强大的工具,开发者只用写一个持久层的配置文件,改工具就反向生成持久层和业务层的代码.简单说来,工具会自动生成hibernate层和spring层的相关代码,开发者只用关心控制层即可.
Liferay微信登录自动登录自定义登录
liferay代码研读liferay代码研读liferay代码研读
可供参考的liferay开发的portlet示例工程,学习参考的简单示例
liferay 架构图,包括所有的类图,以及各类图之的关系等等,包的关系,实现思路
Liferay代码研读Liferay代码研读
Liferay Portal Liferay IDE
Service Builder是Liferay IDE(SDK)提供的一种代码生成方案,开发人员只需要编辑一个数据库的实体描述文件,即可根据...简单说就是根据数据库描述文件,生成service层和持久化层的代码,开发人员只需要关注控制层即可。
Liferay in actin一书的源代码
liferay代码研读 liferay代码研读
这个项目与自动制作Liferay的后端部分完全相关,Liferay带有捆绑的各个软件集合,例如Java,Ant,Maven和Tomcat。 作为基本版本,我们将在Linux Flavors中安装Liferay软件包时使用Beta版。内容包括1)环境变量设置2...
农网一体化平台liferay框架 农网一体化平台liferay框架
liferay cas 代码
Liferay Themes[1].pdf Liferay+CMS系统培训.ppt Liferay+Portal+数据库介绍+.doc Liferay+权限管理.doc liferay-portal-5-2-systems-development-...Liferay代码研读.pdf Liferay环境搭建.doc
liferay静态化[归类].pdf
liferay6.2 增删改查列子,自己写的。