当前位置: 代码迷 >> Java Web开发 >> 关于获取不到用户id=_=,该如何解决
  详细解决方案

关于获取不到用户id=_=,该如何解决

热度:394   发布时间:2016-04-13 22:10:37.0
关于获取不到用户id=_=
用户登录之后控制台打印获取用户id和姓名
userId: 0     userName: zhangsan
为什么userId获取不到
我的数据库表结构是这样的:
# Host: localhost  (Version: 5.5.28)
# Date: 2015-11-12 16:47:54
# Generator: MySQL-Front 5.3  (Build 4.214)

/*!40101 SET NAMES gb2312 */;

#
# Structure for table "users"
#

DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `userName` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
  `age` int(5) DEFAULT NULL,
  `sex` varchar(4) DEFAULT NULL,
  `address` varchar(200) CHARACTER SET utf8 DEFAULT NULL,
  `password` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

#
# Data for table "users"
#

INSERT INTO `users` VALUES (6,'zhangsan',23,'2','ии????бе','123');



我的mapper里面是这样的:


那么问题到底是出在哪里呢(⊙o⊙)?
------解决思路----------------------
userId改成id试试
------解决思路----------------------
引用:
Quote: 引用:

userId改成id试试

没有,我用了好几种方式获取id和name
userId只是前面自定义的,关系应该不大的
userId : <c:out value="${sessionScope.user.id}" />  ${user.id}
<% 
User user = (User)session.getAttribute("user"); 
System.out.print("userId: "+user.getId());
%>

userName : <c:out value="${sessionScope.user.userName}" />  ${user.userName}
<% 

System.out.print("userName: "+user.getUserName());
%>

在后台获取user方法处设个断点看看获取到的user对象有没有id
------解决思路----------------------
把user类的id类型改为Integer看看是否为null  如果是那说明你的数据库存的就是null
------解决思路----------------------
你返回类型不是用ResultMap去接受的吗,你这里是不是写错了,想写parameterType的?
------解决思路----------------------
是页面显示不出来还是数据库读到user这个bean的时候就没有id?
有setId这个方法么
  相关解决方案