首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

ibatis实战之运用内联参数-用#做占位符

2012-10-24 
ibatis实战之使用内联参数--用#做占位符ibatis实战之使用内联参数--用#做占位符----------?内联参数就是一

ibatis实战之使用内联参数--用#做占位符

ibatis实战之使用内联参数--用#做占位符

----------

?

内联参数就是一种在已映射语句中添加查询条件的简单方式,你可以使用两个不同的方法来设置内联参数。

第一个方法是使用散列(#)符号。以下的例子就使用#符号传递进一个简单的内联参数,以通过accountId值来获取一个唯一的Account bean:

?

select accountId,username,password,firstName,lastName,address1,address2,city,state,postalCode,countryfrom Accountwhere accountId = ?

?

然后,ibatis将这个参数的值设置为1,并执行该预备语句。最后,ibatis接收该结果行,把它映射到一个java对象,并返回这个对象。尽管看上去这可能像是很底层的信息,但理解此处究竟发生了什么是非常重要的。有关ibatis最觉见的问题之一就是:“如何在WHERE子句中使用LIKE?”通过上面这条语句,你就可以很容易地明白:为何输入的参数必须具有通配符,以及为何它们不能被轻易地插入到SQL语句中。对于这个难题,有3种可能的解决方案:

1.在所传入的参数中使用SQL通配符。

2.要搜索内容的文本必须是能够被参数化的SQL表达式的一部分。例如:'%'||#value#||'%'

3.改为使用替代语法(用$作占位符)

?

?

?

?

热点排行