1.使用generator插件(插件方式)
2.使用mybatis-generator-core.jar(jar包方式)
3.比较:(说的很简单,因为我目前-16.12.26-只知道这些)
3.1.生成的数量和完整度方面:
jar包方式很全面,比如scott.emp表,pojo会生成一个Emp和EmpExample两个类,使用EmpExample可以通过java代码的形式生成sql语句,比如
/**
* 通过example方式获取对象
*/
EmpExample empExample=new EmpExample();
Criteria empCriteria=empExample.createCriteria();
DateFormat df=new SimpleDateFormat("yyyy-MM-dd");
DateFormat formatter = DateFormat.getDateInstance();
Date begin=df.parse("1972-02-19");
Date end=formatter.parse("1982-02-19");
empCriteria.andHiredateBetween(begin, end);
empExample.setOrderByClause("deptno desc");
empExample.setDistinct(false);
empList=empMapper.selectByExample(empExample);
System.out.println(begin.toLocaleString()+"到"+end.toLocaleString()+"的在职人员有:");
for(int i=0;i<empList.size();i++){
System.out.println(empList.get(i).getEname()+empList.get(i).getDeptno());
}
这是自动生成的**Example就有的方法,也可以自定义一些,比如我在EmpExample类中添加rownum=1的实现方法andRownum():
public Criteria andRownum(){
addCriterion("rownum = 1");
return (Criteria) this;
}
这样就可以通过empCriteria.andRownum();来调用了,很方便灵活。而插件方式就很简单,基本就是增删改查各一条,也没有多余的类。
3.2.mapper和mapper.xml的位置
jar包方式生成的mapper和mapper.xml文件可以放在同一个包下;插件形式则放在不同的包中,这个倒没什么影响,只是看着比较直观。