在 java se 中使用mybatis 用fatjar打包后出现错误、

问题描述

在 java se 中使用mybatis 用fatjar打包后出现错误、

在开发环境可以顺利运行,用fatjar打包后出现错误,
Exception in thread "main" java.lang.reflect.InvocationTargetException
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 com.simontuffs.onejar.Boot.run(Boot.java:306)
at com.simontuffs.onejar.Boot.main(Boot.java:159)
Caused by: org.apache.ibatis.binding.BindingException: Type interface com.jtanco
der.mybatistest.mappers.PersonInfoMapper is not known to the MapperRegistry.
at org.apache.ibatis.binding.MapperRegistry.getMapper(MapperRegistry.jav
a:47)
at org.apache.ibatis.session.Configuration.getMapper(Configuration.java:
655)
at org.apache.ibatis.session.defaults.DefaultSqlSession.getMapper(Defaul
tSqlSession.java:222)
at com.jtancoder.mybatistest.service.PersonInfoService.getPersonInfoServ
iceInstance(PersonInfoService.java:26)
at com.jtancoder.mybatistest.main.AppMain.main(AppMain.java:20)
... 6 more
项目结构如下:

求高手解答

解决方案

PersonInfoMapper写的不正确,请检查一下。

时间: 2024-09-17 03:54:44

在 java se 中使用mybatis 用fatjar打包后出现错误、的相关文章

事务策略: 了解事务陷阱-在Java平台中实现事务时要注意的常见错误

简介:事务处理的目标应该是实现数据的高度完整性和一致性.本文是为 Java 平台开发有效事务策 略 系列文章 的第一篇,介绍了一些妨碍您实现此目标的常见事务陷阱.本系列作者 Mark Richards 通 过使用 Spring Framework 和企业 JavaBeans(Enterprise JavaBeans,EJB)3.0 规范中的代码示例解 释了这些极其常见的错误. 在应用程序中使用事务常常是为了维护高度的数据完整性和一致性.如果不关心数据的质量,就不必 使用事务.毕竟,Java 平台

在Java SE中使用Hibernate框架

目前人们很容易发现Hibernate正迅速的成为流行的J2EE的O/R映射工具和数据集成框架(如果不是最流行的).Hibernate为企业应用开发者操作关系数据库的提供了清晰明了而又强大的工具.然而如果你需要在外部访问那些包装在J2EE web应用里的实体,情况又怎样呢?你的开发跟应用独立分开,却又相同的实体以访问你的数据吗?又或者你得编写附加的web组件来管理对数据的内部访问吗? 在很多情况下,这些问题都会出现.我的情况是我的公司需要将来自多个供应商,有着多种文件格式的记录导入到数据库里.我想

iterator-java se中next()方法,对返回元素的不理解

问题描述 java se中next()方法,对返回元素的不理解 next(),使用方法iterator()要求容器返回一个Iterator.第一次调用Iterator的next()方法时,它返回序列的第一个元素. (2) 使用next()获得序列中的下一个元素. 但是我还是不太明白 ```SortedSet sortedset = new TreeSet(Arrays.asList( "one two three four five six seven eight".split(&qu

Java SE 6之GUI:让界面更加绚丽(上)

本文为原创,如需转载,请注明作者和出处,谢谢! 本文曾发表于天极网:http://dev.yesky.com/185/2690685.shtml Java SE 6之GUI:让界面更加绚丽(下) Java是一种非常强大的编程语言,但Java的GUI能力一直是它的软肋.虽然Java提供2种图形解决方案,AWT和Swing.但这2种图形库的功能十分有限,使用它们并不能带来更多的用户体验.而且AWT和Swing的更新速度很慢.一直到Java SE 5也没什么明显的变化.幸好Java SE 6终于为它们

gradle打包android程序时,如何修改java文件中的属性值

问题描述 gradle打包android程序时,如何修改java文件中的属性值 工程有个文件例如1.java文件:其中有个public final static String URL = "/www.baidu.com"; 现在的问题是如何在用gradle打包的时候可以更换1.java文件中的URL? ant打包就可以写不同的build.xml,在build.xml中更换URL的字符串,在利用ant构建的时候通过编译不同的build.xml来达到更换URL的目的. 现在不知道gradl

Powerpoint 2007中的PPT幻灯文件打包操作

将所有需要放映的Powerpoint演示文稿文件及演示文稿查看器一并"打包",这样更便于操作者在各种环境中进行放映操作.Powerpoint2003中的文件打包操作大家都比较熟悉,但Powerpoint2007的界面有所不同,这里我们做一些详细介绍. Powerpoint2003的PPT文件打包操作 点击菜单"文件-打包向导",按照提示一路"YSE"下去就可以了,当然,如果你要在没有安装POWERPOINT的机子上播放的话,你在打包的时候要选择相

Java SE 6中的AWT模态增强功能

一. 引言 模态一直是我最喜欢的话题之一,至少因为一直存在大量的感兴趣的客户的有关于这方面内容的回馈信息.作为一个Java SE测试工程师,这正是驱动我工作的动力-它使我一直处于忙碌之中,而且还为我的工作带来快乐.另一方面,这也说明了模态是客户端最广为使用的特征之一,不管是使用Swing还是使用AWT进行开发. 在Java SE 6(代码名为Mustang)中,我的工作变得更有意思--在模态方面进行大量的改进.这些改进将为应用程序开发者提供更大的灵活性--在设计可能用到模态对话框行为的程序的过程

JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结(转)

hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加得心应手. 第一方面:开发速度的对比 就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些.Mybatis框架相对简单很容易上手,但也相对简陋些.个人觉得要用好Mybatis还是首先要先理解好Hibernate. 比起两者的开发速度,不仅仅要考虑到两者的特性及性能,更要根据项目需求

Java使用JDBC或MyBatis框架向Oracle中插入XMLType数据_java

先来了解一下什么是XMLType类型. XMLType是Oracle从9i开始特有的数据类型,是一个继承了Blob的强大存在,可以用来存储xml并提供了相当多的操作函数.理论上可以保存2G大小的数据. 那怎么样通过java来插入XMLType类型的数据呢?项目当中采用的是Mybatis,总是出现莫名的异常,都搞不清楚到底是Mybatis的问题还是jdbc本身的问题,所以打算一步步来,先搞定jdbc,再解决Mybatis. JDBC在折腾了半天之后,发现jdbc操作主要有3种方法: 一.在Java