使用代码生成工具
(生成的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