现在有两个表
student(
id 学生ID
provinceId 省份ID
name 学生名字
)province(
id 省份ID
name 省份名字
)select student.name,province.name from student,province where student.id='1' and student.provinceId=province.id 我想在student 的 SQLMAP配置文件里配置使用实现这样功能的SQL语句。我的疑惑在那个 resultMap 怎么写?? 返回的数据怎么接收呢?? 在该配置文件中,还得引入什么?? 请使用示例代码说明一下。谢谢!
student(
id 学生ID
provinceId 省份ID
name 学生名字
)province(
id 省份ID
name 省份名字
)select student.name,province.name from student,province where student.id='1' and student.provinceId=province.id 我想在student 的 SQLMAP配置文件里配置使用实现这样功能的SQL语句。我的疑惑在那个 resultMap 怎么写?? 返回的数据怎么接收呢?? 在该配置文件中,还得引入什么?? 请使用示例代码说明一下。谢谢!
解决方案 »
- Struts2 项目报错,java.io.IOException: Server returned HTTP response code: 500 for UR
- 怎样实现在页面A中点击一个“姓名”,然后在页面B中的一个text中直接显示这个“姓名”?
- 使用JasperReport+iReport生成报表异常,,急!!!
- TOMCAT6.0加载CLASS
- 大虾们进,小弟问个很简单的问题
- 请教:如何写小型JSP项目网络书城的需求分析?
- 一个*.java 中可不可以有多个的package 呢??
- 100分求prepareStatement操作clob大字段的问题!!!!!!!!!!!!!
- 一个关于变量赋值的问题,在线等待。。。。。。
- 开发CRM一般用什么开发,java/delphi/jsp或其他的语言?该怎样开发啊?
- 怎么在fckeditor(2.6.5版)中增加一个插入Pdf文件的功能?
- Struts中的Action与Servlet有什么关系没有啊?
<result property="stuname" column="stuname"/>
<result property="proname " column="proname "/></resultMap>
<select id="queryDocById" resultMap="testMap">
sql:select student.name stuname,province.name proname from student,province where student.id='1' and student.provinceId=province.id
</select>
stuDomain.javaprivate String proname ;private String stuname;
get,set...
你先学习ibatis吧
你这样的解决办法是得新建一个类了,能否不新建类,使用纯粹的java.util.Map 来接收呢???
<result property="sname" column="student.name"/>
<result property="pname" column="province.name "/>
。
</resultMap>
使用queryForMap方法
你好,我这样处理,但是结果没有查到东西。没有返回数据: <resultMap class="java.util.HashMap" id="queryForShowListByKeywordResult">
<result column="salempx.id" property="id" jdbcType="INTEGER" />
<result column="salempx.userId" property="userId" jdbcType="INTEGER" />
<result column="salempx.tableNameId" property="tableNameId" jdbcType="INTEGER" />
<result column="salempx.isEnterprise" property="isEnterprise" jdbcType="CHAR" />
<result column="province.named" property="provinceName" jdbcType="VARCHAR" />
<result column="city.named" property="cityName" jdbcType="VARCHAR" />
<result column="college.named" property="collegeName" jdbcType="VARCHAR" />
<result column="salempx.title" property="title" jdbcType="VARCHAR" />
<result column="messagestatus.state" property="messageStatusState" jdbcType="VARCHAR" />
<result column="salempx.visitedTimes" property="visitedTimes" jdbcType="INTEGER" />
<result column="salempx.isRecommend" property="isRecommend" jdbcType="CHAR" />
<result column="salempx.publishTime" property="publishTime" jdbcType="DATE" />
<result column="salempx.messageDeadline" property="messageDeadline" jdbcType="DATE" />
<result column="salempx.latestUpdateTime" property="latestUpdateTime" jdbcType="VARCHAR" />
<result column="salempx.countermandTime" property="countermandTime" jdbcType="DATE" />
</resultMap>。
<select id="queryForShowListByKeyword" resultMap="queryForShowListByKeywordResult" parameterClass="java.util.Map">
select salempx.id, salempx.userId, salempx.tableNameId, salempx.isEnterprise,province.named, city.named, college.named, title,
messagestatus.state, visitedTimes, isRecommend, publishTime, messageDeadline, latestUpdateTime,
countermandTime
from salempx,province,city,college,messagestatus
where salempx.provinceId = province.id and salempx.cityId = city.id and salempx.collegeId = college.id and
salempx.messageStatusId = messagestatus.id and provinceId IN $provinceStr$ $titleKeywordStr$
</select>
----------
以下是 DAO实现类 public Map queryForShowListByKeyword(Map keywordMap) {
return getSqlMapClientTemplate().queryForMap("salempx.queryForShowListByKeyword", keywordMap, "id");
}------
以下是 测试类saleMsgMap = saleMPXDao.queryForShowListByKeyword(keywordMap);
System.out.println(saleMsgMap.size());------
结果saleMsgMap.size() 没有执行到。说明在saleMsgMap = saleMPXDao.queryForShowListByKeyword(keywordMap); 就出了错误。------
我代码哪里有问题了呢? 请指正 谢谢了!
<select id="aaaaaaaaa" resultClass="java.util.HashMap">
select .........
</select>返回list的里面放的是map,map里面的key就是列名
那是怎么回事?你在saleMsgMap = saleMPXDao.queryForShowListByKeyword(keywordMap); try 一下,把异常打出来
<result property="proname " column="proname "/> </resultMap>
<select id="queryDocById" resultMap="allMarkstat" parameterClass="string">
sql:select student.name stuname,province.name proname from student,province where student.id='1' and student.provinceId=province.id
</select>然后使用HashMap将读取到的内容取出来就可以了
<result property="proname " column="proname "/> </resultMap>
<select id="queryDocById" resultMap="allMarkstat" parameterClass="string">
sql:select student.name stuname,province.name proname from student,province where student.id='1' and student.provinceId=province.id
</select>然后使用HashMap将读取到的内容取出来就可以了
----------------------
可以执行到了,但是打印出来的结果是size等于0 ,但是数据库中是有对应2条数据的。还有,你前面说直接使用 java.util.HashMap 接收 ,我试了,会报错,说 在SQLMAP中没有 ID 为 java.util.HashMap这样的 RESULTMAP的定义
你加了try catch处理了异常,那后面当然能执行到了,关键你要看后台打印出什么异常
报出异常了 说的是我原先的provinceId是未明确的,我改过了,就不报错了。现在可以了,谢谢你了兄弟!我的QQ 309628014 加我吧 我在线