Type interface dxm.com.mapper.UserMapperI is already known to the MapperRegistry.

org.apache.ibatis.exceptions.PersistenceException: 
### Error building SqlSession.
### The error may exist in dxm/com/mapper/UserMapperI.java (best guess)
### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.binding.BindingException: Type interface dxm.com.mapper.UserMapperI is already known to the MapperRegistry.
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:26)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:82)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:66)
at dxm.com.util.MyBatisUtil.getSqlSessionFactory(MyBatisUtil.java:28)
at dxm.com.util.MyBatisUtil.getSqlSession(MyBatisUtil.java:38)
at dxm.com.web.UsersCRUD.insertBatch(UsersCRUD.java:50)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.binding.BindingException: Type interface dxm.com.mapper.UserMapperI is already known to the MapperRegistry.
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:109)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:92)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:80)
... 27 more
Caused by: org.apache.ibatis.binding.BindingException: Type interface dxm.com.mapper.UserMapperI is already known to the MapperRegistry.
at org.apache.ibatis.binding.MapperRegistry.addMapper(MapperRegistry.java:62)
at org.apache.ibatis.session.Configuration.addMapper(Configuration.java:651)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:330)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:107)
... 29 more




mybatis 配置问题


<mappers>
                 <mapper resource="dxm/com/mapper/userMapper.xml" />   
<mapper resource="dxm/com/mapper/OrderMapper.xml" />
<mapper resource="dxm/com/mapper/clazzMapper.xml" /> 

<mapper class="dxm.com.mapper.UserMapperI" />  
 
</mappers>

 

userMapper.xml 这个文件的namespace为dxm.com.mapper.UserMapperI,然后又在配置文件中配置类这个接口类



这个接口的内容是 


package dxm.com.mapper;


import java.util.List;


import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;


import dxm.com.entity.User;


/**
 * 定义sql映射接口 使用注解指明要执行的sql
 * @author bsat
 *
 */
public interface UserMapper {



@Insert("insert into user(userid,username,others) values(#{userid},#{username},#{others})")
public int add(User user);

@Delete(" delete from user where userid=#{id}")
public int delete(int id);

@Update("update user set username=#{username},others=#{others} where userid=#{userid}")
public int update(User user);

@Select("select *from user where userid=#{id}")
public User getUser(int id);

 
@Insert("insert into user(userid,username,others) values(#{userid},#{username},#{others})")
public int addOne(User user);

@Delete(" delete from user where userid=#{id}")
public int deleteOne(int id);

@Update("update user set username=#{username},others=#{others} where userid=#{userid}")
public int updateOne(User user);

@Select("select *from user where userid=#{id}")
public User getUserOne(int id);

@Select("select *from user")
public  List<User> getUserAll();
 
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值