读书人

MyBatis3运用#{}传递参数值为空

发布时间: 2013-08-10 21:14:06 作者: rapoo

MyBatis3使用#{}传递参数值为空

?

? ? 最近做项目的时候遇到一个问题,使用mybatis作为项目的持久层,举一个简单的例子:

? ? ?这是在mapper文件中的一段配置,很简单就是通过accountName获取account的相应信息。

? ? ?不知道你又没有看出这段配置中的错误,反正我被这个问题折磨了一天!

? ? ?#{}是mybatis中的一种占位符,它会将传入的数据预编译后去除关键字等后放到相应的位置,不过使用占位符的时候我们千万不能留有空格!!

? ?#{accountName(这里有一个空格)},正确的写法是: #{accountName} ,将所有位置占满不留一个空格!!!!

? ? 其实道理很简单,mybatis的映射原理就是Map,如果我们在一个map中存入一个值:map.put("key ","value"),在通过map.get("key");取出来的为null。万恶的空格呀。

读书人网 >编程

热点推荐