SpringBoot+Mybaits整合,mapper.xml的参数获取不到

------ 2018-03-06 04:59:56
如题,我自己整合了SpringBoot与Mybatis,数据库连接为最简单的jdbc方式(主要想先简单的一个个来,再开始复杂的),我分别想使用3种方式来了解并熟悉Mybaits,第一种为使用@Mapper注解,这里不详细写代码,第二种配合mapper.xml来测试,不是很明白,sex的值为什么取不到。也跟到源代码里面去看了,还不是很明白是怎么回事,希望有高手解答。代码如下:
控制层:
@RestController
public class UserInforController {

@Autowired
public UserInfoService userInfoServiceImpl;

@RequestMapping("/queryUserBySex")
public UserInfo queryUserBySex(String sex){
return userInfoServiceImpl.queryUserBySex(sex);
}
}

Servie层:
@Service
public class UserInfoServiceImpl implements UserInfoService {
@Autowired
public UserInfoDao userInfoDaoImpl;

@Override
public UserInfo queryUserBySex(String sex){
return userInfoDaoImpl.queryUserBySex(sex);
}
}
dao层:
@Repository
public class UserInfoDaoImpl implements UserInfoDao{

@Autowired
private SqlSession sqlsession;

@Override
public UserInfo queryUserBySex(String sex) {
return this.sqlsession.selectOne("user.queryUserBySex",sex);
}
}

userMapper.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="user">

<resultMap type="cn.com.cybertech.SpringBootServer.po.UserInfo" id="UserInfo" >
<result property="name" column="name"/>
<result property="sex" column="sex"/>
<result property="age" column="age"/>
<result property="phone" column="phone"/>
</resultMap>

<select id="queryUserBySex" parameterType="string" resultMap="UserInfo">
SELECT * FROM CT_TEST WEHRE SEX = #{sex,jdbcType=VARCHAR}
</select>
</mapper>

springboot启动类:
/**
* Hello world!
*
*/
@RestController // restful风格
@ComponentScan(basePackages="cn.com.cybertech.SpringBootServer")
@SpringBootApplication
public class App {

public static void main( String[] args ) {
SpringApplication.run(App.class, args);
System.out.println( "Hello World!" );
}
}

application.properties配置文件:
spring.mvc.view.prefix=/WEB-INF/view/
spring.mvc.view.suffix=.jsp

spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521:luyy
spring.datasource.username=ctframe
spring.datasource.password=cyber
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver

mybatis.mapper-locations=classpath*\:mapper/*Mapper.xml
mybatis.type-aliases-package=cn.com.cybertech.SpringBootServer.po.UserInfo

报错内容如下
### The error may exist in file [D:\workspacesOpenSource\SpringBootServer\target\classes\mapper\UserMapper.xml]
### The error may involve user.queryUserBySex-Inline
### The error occurred while setting parameters
### SQL: SELECT * FROM CT_TEST WEHRE SEX = ?
### Cause: java.sql.SQLException: ORA-00933: SQL 命令未正确结束

; bad SQL grammar []; nested exception is java.sql.SQLException: ORA-00933: SQL 命令未正确结束
] with root cause

java.sql.SQLException: ORA-00933: SQL 命令未正确结束



...全文
1301 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
------ 2018-03-15
  • 打赏
  • 举报
回复
问题点已经找到

10,606

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧