动态表单及动态建表实现原理
2009-09-22 00:00:00 来源:WEB开发网FormService.ftl
import java.sql.ResultSet
import java.sql.SQLException
import java.sql.Types
import org.springframework.jdbc.core.RowMapper
import org.springframework.jdbc.core.RowMapperResultSetExtractor
import com.glnpu.sige.core.dao.DataSourceFactory
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
class ${entity.name?cap_first}Dao {
def insert = '${insert}'
def delete = '${delete}'
def update = '${update}'
def int insert( entity){
def Object[] params = [${insertParameter}]
<#assign size = entity.formAttributeList?size/>
def int[] types=[<#list 1..size+1 as p>Types.VARCHAR,<#rt/></#list>]
return DataSourceFactory.getJdbcTemplate().update(insert, params, types)
}
def int update( entity){
def Object[] params = [${updateParameter}]
return DataSourceFactory.getJdbcTemplate().update(update, params)
}
def int delete(String entityId){
def Object[] params =[entityId]
return DataSourceFactory.getJdbcTemplate().update(delete, params)
}
def search(entity){
${query}
println(query);
return DataSourceFactory.getJdbcTemplate().queryForList(query);
}
}
以上代码示意了如何利用 freemarker 生成 Groovy 和 hibernate 相关代码,以及如何利用Groovy动态的对数据库进行创建和增删改查操作,了解以上的原理后就可以方便的在运行时利用freemarker生成表示层页面以及代码来进行展示。
更多精彩
赞助商链接