初学mybatis+spring-boot整合,报错如下:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.nx.zhjf.mapper.UserMapper.findUserByUsername
我的代码结构如下:application.ym配置文件如下:
spring:
datasource:
driver-class-name:org.postgresql.Driver
url:jdbc:postgresql://localhost:5432/nx
username:postgres
password:postgres
# schema:classpath:import.sql
tomcat:
max-active:30
max-wait:1000
max-idle:20
remove-abandoned-timeout:180
mybatis:
config-location:classpath:mybatis-config.xmlUserMapper.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="com.nx.zhjf.mapper.UserMapper">
<insert id="save" parameterType="com.nx.zhjf.model.User">
insert into t_user(username,age) values(#{userName,jdbcType=VARCHAR},#{age,jdbcType=NUMERIC})
</insert> <select id="selectById" parameterType="java.lang.Integer" resultType="com.nx.zhjf.model.User">
select * from t_user where id = #{id,jdbcType=NUMERIC}
</select> <update id="updateById" parameterType="com.nx.zhjf.model.User">
update t_user set
username = #{userName,jdbcType=VARCHAR} ,
age = #{age,jdbcType=NUMERIC}
where id = #{id,jdbcType=NUMERIC}
</update> <delete id="deleteById" parameterType="java.lang.Integer">
delete from t_user where id = #{id,jdbcType=NUMERIC}
</delete> <select id="findUserByUsername" parameterType="java.lang.String" resultMap="user">
<bind name="pattern" value="'%' + username + '%'" />
select * from t_user where username LIKE #{pattern}
</select> <select id="count" resultType="java.lang.Integer">
SELECT COUNT(*) FROM t_user
</select> <select id="queryAll" resultMap="user">
select * from t_user
</select></mapper>
UserMapper.java如下:@Mapper
public interface UserMapper {
int save(User user); User selectById(Integer id); int updateById(User user); int deleteById(Integer id); List<User> findUserByUsername(String username); int count(); List<User> queryAll();
}
请大神帮我看下,哪里出问题了。
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.nx.zhjf.mapper.UserMapper.findUserByUsername
我的代码结构如下:application.ym配置文件如下:
spring:
datasource:
driver-class-name:org.postgresql.Driver
url:jdbc:postgresql://localhost:5432/nx
username:postgres
password:postgres
# schema:classpath:import.sql
tomcat:
max-active:30
max-wait:1000
max-idle:20
remove-abandoned-timeout:180
mybatis:
config-location:classpath:mybatis-config.xmlUserMapper.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="com.nx.zhjf.mapper.UserMapper">
<insert id="save" parameterType="com.nx.zhjf.model.User">
insert into t_user(username,age) values(#{userName,jdbcType=VARCHAR},#{age,jdbcType=NUMERIC})
</insert> <select id="selectById" parameterType="java.lang.Integer" resultType="com.nx.zhjf.model.User">
select * from t_user where id = #{id,jdbcType=NUMERIC}
</select> <update id="updateById" parameterType="com.nx.zhjf.model.User">
update t_user set
username = #{userName,jdbcType=VARCHAR} ,
age = #{age,jdbcType=NUMERIC}
where id = #{id,jdbcType=NUMERIC}
</update> <delete id="deleteById" parameterType="java.lang.Integer">
delete from t_user where id = #{id,jdbcType=NUMERIC}
</delete> <select id="findUserByUsername" parameterType="java.lang.String" resultMap="user">
<bind name="pattern" value="'%' + username + '%'" />
select * from t_user where username LIKE #{pattern}
</select> <select id="count" resultType="java.lang.Integer">
SELECT COUNT(*) FROM t_user
</select> <select id="queryAll" resultMap="user">
select * from t_user
</select></mapper>
UserMapper.java如下:@Mapper
public interface UserMapper {
int save(User user); User selectById(Integer id); int updateById(User user); int deleteById(Integer id); List<User> findUserByUsername(String username); int count(); List<User> queryAll();
}
请大神帮我看下,哪里出问题了。
解决方案 »
- MyEclipse中在Struts-config.xml文件中为什么不能用design创建新的文件?
- java session的问题 各位大虾们。进来看看.都有分的
- 关于struts的标签使用问题
- java 动态添加接口
- 我想找工作,但是担心不好找,我情况是这样,兄弟们给看看。。
- 能不能设基本类/接口的别名
- 100分求毕业论文摘要英文版,急,明天交!!!!!!!!!!!!!!!!!马上给分。
- 在哪里可以找到JBuilder7.0的序列号?
- websphere是什么,weblogic呢?
- 求教,java调用.net dll的方法
- 急急急!从输入流转换document出错:请检验文档格式。与NC集成财务凭证传输XML文件返回的错误信息
- tomcat启动卡住不动
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<package name="com.nx.zhjf.model"/>
</typeAliases>
<mappers>
<mapper resource="com/nx/zhjf/mapper/CityMapper.xml"/>
<mapper resource="com/nx/zhjf/mapper/HotelMapper.xml"/>
<mapper resource="com/nx/zhjf/mapper/UserMapper.xml"/>
</mappers>
</configuration>
改为<mapper resource="com.nx.zhjf.mapper/UserMapper.xml"/>试试
我的Service代码如下:@Service
public class CityServiceImpl { @Autowired
private CityMapper cityMapper; public City findById(long id) {
return cityMapper.selectCityById(id);
}
}
如果是resource 则用/
如果是class 则用.
还是开头的错误,但是我看了下target下面内容,所有的mapper.xml是有的。
没有id为user的resultMap????
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
like ‘ % xxx ’ 试试