simple案例的问题

09-05-14 hgeng

首页的表里没有数据显示

选用了h2数据库,配置了context.xml

<Context path="" debug="5" reloadable="true" crossContext="true">

<Resource name="jdbc/TestDS" auth="Container" type="javax.sql.DataSource"

maxActive="100" maxIdle="30" maxWait="10000"

username="jt" password="jt" driverClassName="org.h2.Driver"

url="jdbc:h2:tcp://localhost/~/jt"/>

</Context>

按照说明文档中提示是数据类型不符,我数据库中的userid 和name数据都是varchar(20)

usermodel中都是string

数据的添加add都正常,就是显示不出来,请问还可能是什么原因?


banq
2009-05-14 08:47

估计还是和数据库匹配的问题,对象和数据库的阻抗不但体现在设计上,在具体调试运行也会增加很多麻烦,你仔细研究出错log的第一个Error。

hgeng
2009-05-14 10:37

谢谢banq,

找到问题了

在jdbcDao.java里

public UserModel getUser(String Id) {

logger.debug(" enter getUser:" + Id);

String GET_FIELD = "select * from testuser where userId = ?";

List queryParams = new ArrayList();

queryParams.add(Id);

UserModel ret =null;

try {

List list = pageIteratorSolverOfUser.queryMultiObject(queryParams,

GET_FIELD);

Iterator iter = list.iterator();

if (iter.hasNext()) {

Map map = (Map) iter.next();

ret = new UserModel();

ret.setName((String) map.get("NAME"));//这里的NAME原来是小写的name改成大写的就可以了

ret.setUserId((String) map.get("USERID"));//这里的userid原来是小写的userid改成大写的就可以了

}

} catch (Exception se) {

}

return ret;

}

另请教一下,为什么这里要用iter,和map转来转去的不从list直接赋值?

[该贴被hgeng于2009-05-14 11:03修改过]