`

善用IDEA里面的File Template和Live Template

阅读更多
善用IDEA里面的File Template和Live Template可以大大提高我们的编码速度,特别是一些比较固定的代码,我们可以轻松地用几个键来完成一大段的代码的输入。下面是在EJB开发方面的一些有用的模板:

File Template:
用法:右键点击package,选择 New -> From File Template ...

第一个文件模板: EJB Entity

#parse("Copyright.java")
package ${PACKAGE_NAME};

import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType ;
import javax.persistence.Id;

#parse("File Header.java")
@Entity
public class ${ClassName} 
        implements Serializable
{
    private long id; 

    @Id
    @GeneratedValue (strategy = GenerationType.AUTO)
    public long getId()
    {
        return id;
    }

    public void setId(long id)
    {
        this.id = id;
    }
}


Live Template:
用法:在编码的时候,先敲入关键字,然后按TAB键

Key: eb
Text: @Basic

Key: ec
Text: @Column($END$)

Key: ejt
Text: @JoinTable (name = "$END$")

Key: emm
Text: @ManyToMany

Key: emo
Text: @ManyToOne

Key: eom
Text: @OneToMany(mappedBy = "$END$")

Key: eoo
Text: @OneToOne

另外,下面的Live Template在EJB开发中也很有用:

Key: pli
Text: private List<$CLS$> $NAME$ = new ArrayList<$CLS$>();

当然,这样的用法应该还有很多,例如,SessionBean的实现中,EQL的查询等,都是可以作为Live Template甚至File Template的;同样的道理,大家在做WEB/Struts2开发的时候,是否也能够总结一些Template,来缩短我们的编码时间,提高效率。

大家可以一起来分享你觉得非常有用的Template



第二个文件模板: EJB SessionBean

#parse("Copyright.java")
package ${PACKAGE_NAME}; 

import javax.ejb.Local;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

#parse("File Header.java") 
@Stateless
@Remote
@Local
@SuppressWarnings ("unchecked")
public class ${NAME}
{
    @PersistenceContext
    protected EntityManager em;

}


 其他的Live Template:

key: el (mean: EJB Query List)
Text: public List<$C$> list$C$s()
{
    Query query = em.createQuery("SELECT $S$ FROM $C$ $S$");

    return query.getResultList();
}

Key: epl (means: EJB Query Paging List)
Text: public PagingList<$CLS$> list$CLS$s(int start, int pageSize)
{
    Query countQuery = em.createQuery("SELECT COUNT($SHORTNAME$) FROM $CLS$ $SHORTNAME$");
    Long count = (Long) countQuery.getSingleResult ();

    Query query = em.createQuery("SELECT $SHORTNAME$ FROM $CLS$ $SHORTNAME$");
    query.setFirstResult(start);
    query.setMaxResults(pageSize);

    return new PagingArrayList(count.intValue (), query.getResultList());
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics