问题描述
- 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值,这边就会出现空指针的问题