liferay 지구 화 코드 자동 생 성

18025 단어 자바DAOspringxmlext
liferay 는 데이터 베 이 스 를 조작 하 는 데 자신 만 의 쓰기 방법 을 가지 고 있 습 니 다. 우 리 는 service. xml 로 이 코드 를 자동 으로 생 성 할 수 있 습 니 다. 그러면 많은 힘 을 절약 할 수 있 습 니 다. ext - impl 패키지 의 classes 아래 service. xml 에 데이터베이스 시트 필드 를 쓰 면 다음 과 같 습 니 다.
<?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 패키지 아래 에 자바 파일 세 개 를 만 드 는 것 을 발견 할 수 있 습 니 다.
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 패키지 에서 자바 파일 을 몇 개 생 성 합 니 다.
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 / * * * Entry Service. java 와 * * Entry Service Util. java, * * * Entry Service. java 이것 은 인터페이스 입 니 다. 당신 이 사용 하고 자 하 는 지속 적 인 방법 (ext - impl / 새 가방 이름 / service / * * * Entrypersistence. java 에 있 는 모든 방법) 을 여기에 쓸 수 있 습 니 다.* * * Entry ServiceUtil. java 여기에 이러한 정적 방법 (action 에서 조작 할 때 이 종 류 를 호출 합 니 다) 을 쓰 고 마지막 으로 수정 해 야 할 것 은 ext - impl / 새 가방 이름 / service / impl / * * Entry ServiceImpl. java 입 니 다. 그 가 실 현 했 기 때문에 * * * Entry Service 라 는 인 터 페 이 스 는 그의 실현 방법 을 여기에 쓰 면 됩 니 다.
이상 에서 제 가 말 한 것 은 비교적 거 칠 수 있 습 니 다. 사실은 이 파일 들 을 자동 으로 생 성 한 후에 그 세 개의 파일 을 수정 할 때 liferay 의 소스 코드 를 참조 할 수 있 는 방법 을 모 르 면 그의 디 렉 터 리 차원 은 이것 과 같 습 니 다. blog 와 journal Artlice 에서 대응 하 는 세 개의 파일 이면 됩 니 다.기본적으로 보면 알 수 있 습 니 다. 마지막 으로 spring. xml 에서 bean id = "com. ext. portlet. 가방 이름. service. persistence. * * * Entry PersistenceImpl 에 대응 하 는 class 값 을 자동 으로 생 성 합 니 다. 이 값 은 매번 틀 립 니 다. 왜 그런 지 수 동 으로 고 쳐 야 합 니 다.

좋은 웹페이지 즐겨찾기