传值设置mybatis查询的 列名(字段名),以及如何查看mybatis中执行的SQL语句
2017-11-26 15:12
746 查看
最近学习了mybatis,并用ssm框架(Spring,Springmvc,mybatis)搭建项目。使用mybatis的好处就不多说了,请自行查找。
由于本人的mybatis是属于看着视频速成的那种,所以遇到了很多坑。废话不多说了,开始正题:
但是今天遇到一个问题,在导出表格的时候,由于导出的数据不固定,所以需要动态的传入查询表的字段名。问题虽简单,但对于我这种小白来说就有些困扰。
于是一开始就使用了那种中规中矩的方式来写:
这就尴尬了,啥情况啊?想来想去就想到了查看 mybatis执行的SQL语句,经过一番搜索,很容易找到通过日志打印SQL脚本。
就是通过配置log4j配置文件查看SQL。这时就能看到在控制台输出了信息
Preparing:select?,?,?,?fromteacherinfo
这下就不明白了,这样看着也没有错啊。于是么,有去苦心研究去了。突然看到一篇文章写的#{}和${} 的区别;
原来#{}就是一个占位符 所以看到了是一个个?的存在。在处理接受的字段名是就会当做字符串处理加上引号 所以查询sql语句就成了
select"tno","tname","tbirthday","tage"fromteacherinfo
这样查出来的不是字段名才奇了怪了呢
然后果断换成${} 这次就发现果然没毛病了
Preparing:selecttno,tname,tbirthday,tagefromteacherinfo
不过呢虽然实现了,数据库就不安全了。所以尽量不要使用${}
http://blog.csdn.net/kobi521/article/details/16941403
由于本人的mybatis是属于看着视频速成的那种,所以遇到了很多坑。废话不多说了,开始正题:
但是今天遇到一个问题,在导出表格的时候,由于导出的数据不固定,所以需要动态的传入查询表的字段名。问题虽简单,但对于我这种小白来说就有些困扰。
于是一开始就使用了那种中规中矩的方式来写:
<selectid="expoertExcel"parameterType="java.util.List"resultType="TeacherInfo">咋一看没啥问题啊,怎么看都对。然而在打开导出的excel表格时就出现了坑爹的情况。导出的信息全部是字段名字,没有一条真正的数据。
select
<foreachcollection="list"item="item"index="index"separator=",">
#{item}
</foreach>
fromteacherinfo
</select>
这就尴尬了,啥情况啊?想来想去就想到了查看 mybatis执行的SQL语句,经过一番搜索,很容易找到通过日志打印SQL脚本。
就是通过配置log4j配置文件查看SQL。这时就能看到在控制台输出了信息
Preparing:select?,?,?,?fromteacherinfo
Parameters:tno(String),tname(String),tbirthday(String),tage(String)
这下就不明白了,这样看着也没有错啊。于是么,有去苦心研究去了。突然看到一篇文章写的#{}和${} 的区别;
原来#{}就是一个占位符 所以看到了是一个个?的存在。在处理接受的字段名是就会当做字符串处理加上引号 所以查询sql语句就成了
select"tno","tname","tbirthday","tage"fromteacherinfo
这样查出来的不是字段名才奇了怪了呢
然后果断换成${} 这次就发现果然没毛病了
Preparing:selecttno,tname,tbirthday,tagefromteacherinfo
不过呢虽然实现了,数据库就不安全了。所以尽量不要使用${}
相关文章推荐
- 传值设置mybatis查询的 列名(字段名),以及如何查看mybatis中执行的SQL语句
- mybatis如何直接 执行传入的任意sql语句 并按照顺序取出查询的结果集
- 原!!mybatis如何直接 执行传入的任意sql语句 并按照顺序取出查询的结果集
- sql中的系统表sysobjects以及如何查看sql语句的执行时间
- ORCLE-Select 语句执行顺序以及如何提高Oracle 基本查询效率
- 优化SQL查询:如何写出高性能SQL语句1、首先要搞明白什么叫执行计划?执行计划是数据库根据SQL
- 如何通过sql日志,查看以前执行过的sql语句
- MSSQL 如何查看SQL语句的执行时间(判断SQL语句的效率)
- [转]如何在sql2005里简单查看sql语句的执行时间和IO读写
- Select 语句执行顺序以及如何提高Oracle 基本查询效率
- 如何查看django执行的sql语句及消耗时间
- SQL语句执行顺序以及oracle基本查询优化
- ORCLE-Select 语句执行顺序以及如何提高Oracle 基本查询效率
- Select 语句执行顺序以及如何提高Oracle 基本查询效率
- mybatis如何在控制台打印执行的sql语句
- Select 语句执行顺序以及如何提高Oracle 基本查询效率--原文链接http://www.cnblogs.com/likeju/p/5039128.html
- SQL Server如何查看SQL语句的执行时间
- Select 语句执行顺序以及如何提高Oracle 基本查询效率
- 探讨:Oracle数据库查看一个进程是如何执行相关的实际SQL语句
- SQL Server如何查看SQL语句的执行时间 .