2 lcz3607 lcz3607 于 2016.03.28 20:36 提问

mybatis session.selectOne(key,value)问题

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

4个回答

qq_30408111
qq_30408111   2016.03.28 20:40

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

qq_30408111
qq_30408111 回复anjing1001: 你可以用mybatis的你想工程试试
一年多之前 回复
lcz3607
lcz3607 就是用这个来查询的,最有可能的是配置文件出现问题,但是配置文件我有不懂,不敢乱改,也不知道怎么还!所以很迷茫,网上看了好久,也没个有用的!
一年多之前 回复
wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.28 21:13

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

lcz3607
lcz3607 数据库没问题,sql语句我也跑过,没问题,数据库连接,我测试过,也没问题
一年多之前 回复
lcz3607
lcz3607   2016.03.29 14:12

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]

yskxz1988
yskxz1988   2016.03.30 16:32

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!