1. 连接数据库取得表中字段名和类型。参考:http://blog.csdn.net/pengchua/archive/2007/09/13/1783887.aspx
2. 生成POJO,sql的模块:
Pojo.vm
//注意$attr.getColumnType()中getColumnType()是定义好的类中方法。
public class $className implements Serializable {<o:p></o:p>
//<o:p></o:p>
// Attributes.<o:p></o:p>
//<o:p></o:p>
#foreach( $attr in ${tables} )<o:p></o:p>
private $attr.getColumnType() $attr.getColumnName() ;<o:p></o:p>
#end<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
public $className() {<o:p></o:p>
super();<o:p></o:p>
}<o:p></o:p>
<o:p> </o:p>
//<o:p></o:p>
// Access methods.<o:p></o:p>
//<o:p></o:p>
<o:p> </o:p>
#foreach( $attr in $tables )<o:p></o:p>
/**<o:p></o:p>
* @return the $attr.getColumnName().<o:p></o:p>
*/<o:p></o:p>
public $attr.getColumnType() get$attr.getColumnNameUpper()() {<o:p></o:p>
return $attr.getColumnName();<o:p></o:p>
}<o:p></o:p>
<o:p> </o:p>
/**<o:p></o:p>
* Sets the $attr.getColumnName().<o:p></o:p>
*/<o:p></o:p>
public final void set$attr.getColumnNameUpper() ($attr.getColumnType() $attr.getColumnName()) {<o:p></o:p>
this.$attr.getColumnName() = $attr.getColumnName();<o:p></o:p>
}<o:p></o:p>
#end<o:p></o:p>
<o:p> </o:p>
}<o:p></o:p>
<o:p></o:p>
}
<o:p> </o:p>
Select.vm
SELECT #set( $firstItem = 1 ) #foreach( $attr in $tables )<o:p></o:p>
#if ($firstItem == 1) #set( $firstItem = 0 ) $attr.getColumnName()<o:p></o:p>
#else<o:p></o:p>
,$attr.getColumnName()<o:p></o:p>
#end<o:p></o:p>
#end<o:p></o:p>
FROM ${tableName}<o:p></o:p>
3. 加载模板就可以了。可以参考:http://blog.csdn.net/pengchua/archive/2007/07/31/1719119.aspx