ibatis的#和$的区别

首先,如下:(SqlMap的配置文件)

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" 
"http://ibatis.apache.org/dtd/sql-map-2.dtd" >
<sqlMap>
<typeAlias alias="newsinfo" type="com.zhangkeinfo.news.model.NewsInfo" />
<typeAlias alias="pageResult" type="com.zhangkeinfo.news.model.PageResult" />
<typeAlias alias="jsonResult" type="com.zhangkeinfo.news.model.JsonResult" />
<typeAlias alias="contentParameter" type="com.zhangkeinfo.news.model.ContentParamter" />


<resultMap class="newsinfo" id="newsResult">
<result property="nid" column="newsid" />
<result property="ntitle" column="info_name" />
<result property="nintro" column="content" />
<result property="npublishtime" column="time" />
<result property="nsource" column="source" />
<result property="npicurl" column="imgurl" />
</resultMap>
<!-- 获取新闻 -->
<select id="getNewsInfosByPage" parameterClass="pageResult"
resultMap="newsResult">
select * from $tableName$_list newslist,$tableName$_info
newsinfo
where newsinfo.pagenum = 1
and newslist.newsid =
newsinfo.newsid
order by newslist.time desc
limit #firstResult#,
#endResult#
</select>


<!-- 查询当天的新闻 -->
<select id="getNewsInfos" parameterClass="jsonResult" resultMap="newsResult">
select * from $tableName$_list newslist,$tableName$_info newsinfo
where newsinfo.pagenum = 1
and newslist.newsid = newsinfo.newsid and
newslist.time like '%$currentTime$%' order by
newslist.time desc
</select>
<!-- 获取新闻条数 -->
<select id="getNewsCount" parameterClass="String" resultClass="int">
select count(*) from
$value$_list toplist,$value$_info topinfo
where
topinfo.pagenum = 1
and
toplist.newsid = topinfo.newsid
</select>


<!-- 查询新闻内容 -->
<select id="getNewsContent" parameterClass="contentParameter"
resultClass="String">
select content from $tableName$_info where newsid =
#newsId#
order by pagenum
</select>

</sqlMap>

在其中,用到#和$来获取传的参数值,其中#是将传来的值替换(如果是字符串,会将‘’带着替换,比如上面$tableName$,用#tableName#的话,就会出错‘topline’_info,导致SQL语句无法运行),而$值替换值,和参数类型没关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值