MyBatis 基于接口编程学习笔记

来源:互联网 发布:有口碑的淘宝cos店 编辑:程序博客网 时间:2024/06/05 00:15

异常:

Exception in thread "main" org.apache.ibatis.binding.BindingException: Type interface com.yihaomen.mybatis.inter.IUserOperation is not known to the MapperRegistry.
 at org.apache.ibatis.binding.MapperRegistry.getMapper(MapperRegistry.java:42)
 at org.apache.ibatis.session.Configuration.getMapper(Configuration.java:655)
 at org.apache.ibatis.session.defaults.DefaultSqlSession.getMapper(DefaultSqlSession.java:218)
 at com.yihaomen.test.Test.main(Test.java:33)

 

原因:User.xml 文件中 mapper中:错误如下红色字体为错误命名空间,接口编程中应对应接口所在路径 ,绿色为正确配置。

<--------?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">
<--------!--namespace="com.yihaomen.mybatis.inter.IUserOperation"  -->
<--------mapper namespace="com.yihaomen.mybatis.models.UserMapper" >
    <--------select id="selectUserByID" parameterType="int" resultType="User">
        select * from `user` where id = #{id}
    <--------/select>
<--------/mapper>

注意:增加,更改,删除的时候要调用session.commit(),这样才会真正对数据库进行操作,否则是没有提交的。

多对一 遇到的异常 :在xml文件中 多方的

中type 不能直接写Article 而要写全 其路径:com.yihaomen.mybatis.model.Article

org.apache.ibatis.exceptions.PersistenceException:
### Error building SqlSession.
### The error may exist in com/yihaomen/mybatis/model/User.xml
### The error occurred while processing mapper_resultMap[resultUserArticleList]
### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'Article'.  Cause: java.lang.ClassNotFoundException: Cannot find class: Article
 at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)
 at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:51)
 at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:35)
 at com.yihaomen.test.Test.(Test.java:22)……
 ... 13 more
Exception in thread "main" java.lang.NullPointerException
 at com.yihaomen.test.Test.getUserArticles(Test.java:142)
 at com.yihaomen.test.Test.main(Test.java:35)

0 0
原创粉丝点击