善用IDEA里面的File Template和Live Template可以大大提高我们的编码速度,特别是一些比较固定的代码,我们可以轻松地用几个键来完成一大段的代码的输入。下面是在EJB开发方面的一些有用的模板:
File Template:
用法:右键点击package,选择 New -> From File Template ...
第一个文件模板: EJB Entity
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
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());
}
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());
}