tdoly bio photo

tdoly

喜爱爬山,徒步的IT小小鸟

Twitter Facebook Google+ Github

使用spring+ibatis的raw sql语句的自助查询

经常有产品需要查询数据的需求,所以就需要做一个可以自助查询sql的后台,并导出csv数据。

问题一:java.sql.SQLException: 列名无效

这个是因select标签中有一个属性remapResults,默认为false。这样记录上一次查询结果的元数据(metadata),可以避免经常的对返回的结果进行内省的开销。这对于查询列不变的sql非常高效。所以,在不定列的sql查询,需要将remapResults设置为true。这样在每次查询的时候,ibatis都会内省查询结果来设置元数据。 现在就可以设置resultClass,通过输入的raw sql来返回xml结果了。

解析xml文件为csv友好数据

ibati查询sql返回的xml文件中,如果有列为空,那么xml文件中就不存在列名了。所以需要在sql中使用ISNULL(column, default)为空列(column)指定默认值(default)。

限制sql中危险字符及数据库的权限