使用代码生成工具

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用代码生成工具相关的知识,希望对你有一定的参考价值。

 

 

(生成的xml文件要把注释放开,然后resultType改成resultMap,里面的路径改为上面注释resultMap的id)

1.

这里项目中使用代码生成工具来对数据库表生成一系列的java文件(Entity,Service,Dao,Controller等文件)

2.

然后在controller里面进行地址拦截,
我们这里通过对地址参数的判断进行方法的调用

3.

然后调用的方法里new一个query语句(这里的Query是什么?)

然后通过Service里的getList方法获得所有的数据(返回类型是List,泛型是service的类名)

 

答:
Query我之前以为是查询语句
现在理解应该是Query其实是个集合,hashMap类型的集合,里面可以用来存放查询语句

4.

getList方法里一句代码(这个方法是代码生成工具生成的,如果我要写其他方法该怎么写?)

return dao.getList(map);

这个dao是

private DataOptStatDao dao;

而DataOptStatDao 其实是一个接口
真正的getList方法其实是在DataOptStatDao.xml(实现了DataOptStatDao 接口)里面
然后在geList里写sql语句

 

5.

其实,这两句就已经查询到了结果,可以进行数据的返回了


Query query = new Query(params);
List<DataOptStat> dataEventList = dataOptStatService.getList(query);

 

6.

我们这里使用了pagination插件(项目经理自己写的)

后面这两句
long total = 123;
return new Pagination(dataEventList, total, query.getLimit(), query.getPage());

使用了集成的pagination技术,对数据进行分页

 

7.

问:使用${filterSql}有什么条件限定吗?

params.put("filterSql", "and 1 = 1");

${filterSql}

没有使用条件,一直报错是因为我添加了

where 1 = 1
${filterSql}

导致后面的语句变成了

where 1 = 1
${filterSql}
where rownum <= (#{offset} + #{limit})

所有只要把后面的where改成and就可以了

 

 


另外sql语句条件里面判断是否为空用
is null 或 is not null
不能用 = null 或者 <> null

 
















以上是关于使用代码生成工具的主要内容,如果未能解决你的问题,请参考以下文章

使用代码生成工具

使用Mybatis 代码生成工具

NHibernate之旅(18):初探代码生成工具使用

代码检查工具Linux下代码检测工具(sparse)的使用

代码检查工具Linux下代码检测工具(sparse)的使用

yaf代码生成工具的使用