session.selectone()-mybatis session.selectOne(key,value)问题

问题描述

mybatis session.selectOne(key,value)问题

各位大神们,mybatis session.selectOne(key,value)调用xml的sql语句无返回值,怎么回事?
情况是这样的,今天领导给我一个完成的项目代码,是用spring,struts,mybatis编写的java项目,让我把里面连接的sqlserver数据库改为连接mysql,改完连接的驱动,用户名,密码之后,运行发现连接不上,数据库没问题,看完各种逻辑代码之后,发现是使用到了session.selectOne()方法时无法从数据库查询到的数据返回,不知什么原因,这问题困扰了我一整天,实在没办法,请各位有相关经验的高手指点指点,本人之前没接触过mybatis,请各位帮我解答,小弟万分感谢!!!!

解决方案

selectOne()我大约记得这个函数好像是mybatis的查询中用到的

解决方案二:

既然数据库连接不上,那么session.selectOne()这段代码就不可能正确执行的。运行过程中有什么异常信息么?
贴出来看看。建议找过简单的mybatis的demo,对照各个步骤检查下你的代码。主要就是数据库相关配置,sql映射配置,实体类,DAO实现类。仔细找找问题所在。

解决方案三:

2016-03-29 13:55:25,699 DEBUG (Slf4jImpl.java:47) - Creating a new SqlSession
2016-03-29 13:55:25,699 DEBUG (Slf4jImpl.java:47) - Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1248d56]
2016-03-29 13:55:25,714 DEBUG (Slf4jImpl.java:47) - JDBC Connection [jdbc:mysql://127.0.0.1:3306/TDSZ_DIMS, UserName=root@localhost, MySQL-AB JDBC Driver] will be managed by Spring
2016-03-29 13:55:25,714 DEBUG (Slf4jImpl.java:47) - ooo Using Connection [jdbc:mysql://127.0.0.1:3306/TDSZ_DIMS, UserName=root@localhost, MySQL-AB JDBC Driver]
2016-03-29 13:55:25,714 DEBUG (PaginationInterceptor.java:77) - 列表查询。
2016-03-29 13:55:25,714 DEBUG (CommonsLogger.java:68) - Entering nullPropertyValue [target=[{CON_PAGE_RESULT_VALUE_KEY=login, com.opensymphony.xwork2.util.OgnlValueStack.MAP_IDENTIFIER_KEY=}, com.tydic.immanage.login.action.LoginAction@1c1576e, com.opensymphony.xwork2.DefaultTextProvider@b84fd7], property=CON_REQUEST_RUNTIME_SQL_KEY]
2016-03-29 13:55:25,714 DEBUG (Slf4jImpl.java:47) - ==> Preparing: select * from MHC_SYS_STAFF_INFO t where LOGIN_CODE = ? and PASSWORD = ? and STATE = '10A'
2016-03-29 13:55:25,714 DEBUG (Slf4jImpl.java:47) - ==> Parameters: lvcaijiang(String), e3c2e2fedd76daef3caec412a1685e1a(String)
2016-03-29 13:55:25,714 DEBUG (Slf4jImpl.java:47) - Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1248d56]

解决方案四:

selectOne调用了selectList方法,当selectList方法返回值的size小于1 的时候,selectOne方法会返回null值,这边就会出现空指针的问题

时间: 2025-01-03 07:50:36

session.selectone()-mybatis session.selectOne(key,value)问题的相关文章

nginx中session ticket重用Session提高https性能分析

原创文章:来自nginx中session ticket重用Session提高https性能分析 https会话建立初次使用session ticket的SSL握手流程如下: Client Server ClientHello (empty SessionTicket extension)--------> ServerHello (empty SessionTicket extension) Certificate* ServerKeyExchange* CertificateRequest*

PHP session并发及session读写锁分析

PHP这门程序设计语言简单得令人发指,那是因为PHP的作者们太神通.今天我来谈谈所有的phper都熟悉的session(会话). 需要说明的是: 1.示例代码中分别以files,redis储存会话数据 2./session/setUserFile和/session/setUserRedis设置user_name,user_id两个key,并sleep了3s 3./session/setLoginFile和/session/setLoginRedis设置last_time一个key 4./sess

理解PHP中的Session及对Session有效期的控制_php技巧

0.什么是session?       Session的中文译名叫做"会话",其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个session.目前社会上对session的理解非常混乱:有时候我们可以看到这样的话"在一个浏览器会话期间,...",这里的会话是指从一个浏览器窗口打开到关闭这个期间:也可以看到"用户(客户端)在一次会话期间"这样一句话,它可能指用户的一系列动作(一般情况下是

使用Memcached Session Manager扩展Session管理

Tomcat的session管理 在请求过程中首先要解析请求中的sessionId信息,然后将sessionId存储到request的参数列表中. 然后再从request获取session的时候,如果存在sessionId那么就根据Id从session池中获取session, 如果sessionId不存在或者session失效,那么则新建session并且将session信息放入session池,供下次使用. session replication和session sticky session是

ActiveMQ session.close与session.commit的区别

如果session是以非事务的方式创建必须session.close()就可以将消息提交到服务器队列 session=connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE); // 创建Session session.close(); 如果session是以开启事务的方式创建必须session.commit()才能提交消息到服务器队列,session.close()服务器将收不到消息 session=connection

Tomcat的SessionID引起的Session Fixation和Session Hijacking问题

  上一篇说到<Spring MVC防御CSRF.XSS和SQL注入攻击>,今天说说SessionID带来的漏洞攻击问题.首先,什么是Session Fixation攻击和Session Hijacking攻击问题? 说来话长,非常具体的解释查看我这个pdf文件:<Session Fixation Vulnerability in Web-based Applications>.为什么会注意到这个问题?其实原来也知道session劫持的问题,但没有注意,这几天用IBM Ration

php使用memcache存储session时,session的生命周期

问题描述 php使用memcache存储session时,session的生命周期 默认 session.save_handle=files session.gc_probability = 1 session.gc_divisor = 100 session.gc_maxlifetime = 1440 此时,session的生命周期为1440,超过这个时间session有1/100的几率被回收. 如果使用memcache存储session,memcache中的session的生命周期也是144

asp.net(C#)清除全部Session与单个Session的方法_C#教程

实例如下: Session.Abandon();//清除全部Session //清除某个Session Session["UserName"] = null; Session.Remove("UserName"); 以上这篇asp.net(C#)清除全部Session与单个Session的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用

PHP通过session id 实现session共享和登录验证的代码_php技巧

先说说,这个机制的用途吧,到现在为止战地知道这个机制有两个方面的用途: 首先,多服务器共享session问题,这个大家应该都能够理解的,当一个网站的用户量过大,就会使用服务器集群,例如专门有一个登录用的服务器.用户通过登录服务器登录之后,登录服务器保存了用户的登录信息session,而其他受访问的服务器,例如电影服务器没有这个session,那么我们就要通过一个session的唯一标识来共享这个session了--具体session的共享超出了本文的范围,请自行查阅资料. 第二个用途就是,验证同