首先,如下:(SqlMap的配置文件)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapPUBLIC "-//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语句无法运行),而$值替换值,和参数类型没关系。