MyBatis小问题(1)-Mapper中错误No constructor found...
时间:2019-03-25
本文章向大家介绍MyBatis小问题(1)-Mapper中错误No constructor found...,主要包括MyBatis小问题(1)-Mapper中错误No constructor found...使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前两天又被公司叫去修改其他产品的一些问题了,没有看java相关的,今天周六,看了看MyBatis东西。
就是简单的在MySql中建了个users表,很简单,包含id,name,age,写了个bean。如下:(注,由于初学java,可能很多名词用的并不是特别准确,大概理解一下就行了,待学成之后,再行修改。所谓大行不顾细谨,大礼不拘小节,O(∩_∩)O)
package com.tszhao.dao; public class User { private int id; private String name; private int age; public User(int id, String name, int age) { super(); this.id = id; this.name = name; this.age = age; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "User [id=" + id + ", name=" + name + ", age=" + age + "]"; } }
在JUnit中写了一个测试程序,用来查询。
@Test public void testSelect() { SqlSessionFactory factory = MyBatisUtils.getFactory(); SqlSession openSession = factory.openSession(); UserMapper mapper = openSession.getMapper(UserMapper.class); User selectUser = mapper.selectUser(1); System.out.println(selectUser); }
结果,运行报错。。。
org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.apache.ibatis.executor.ExecutorException: No constructor found in com.tszhao.dao.User matching [java.lang.Integer, java.lang.String, java.lang.Integer] ### The error may exist in com/tszhao/mapper/UserMapper.java (best guess) ### The error may involve com.tszhao.mapper.UserMapper.selectUser ### The error occurred while handling results ### SQL: select * from users where id=? ### Cause: org.apache.ibatis.executor.ExecutorException: No constructor found in com.tszhao.dao.User matching [java.lang.Integer, java.lang.String, java.lang.Integer] at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) ...
看样子,应该跟构造函数相关。找不到与User相关的构造函数。试着在User中增加了一个默认的构造函数,通过。。。
可能问题都不值得一提,但是,特此记录一下学习历程,也是一个很有意思的事。。。
- 网站抓取引子 - 获得网页中的表格
- Android Firebase 服务简介
- CVE-2015-0393:Oracle发布严重安全漏洞预警
- 研究人员发现一种利用Siri窃取苹果iPhone/iPad数据的方法
- 关于Python中的__main__和编程模板
- 世界大战尽在掌控:盘点全球网络攻击实时追踪系统
- Activity数据传递
- apache反向代理一、泛解析域名二、APACHE配置
- Python学习 - 可视化变量赋值、循环、程序运行过程
- jdk源码分析红黑树——插入篇1.插入root2.父黑3.父红4.父红,叔红5.1父红,叔黑,外侧子孙5.2父红,叔黑,内侧子孙
- WIFI环境下Android手机和电脑通信
- 破解之美:利用ECB加密缺陷突破cookie加密
- 让Python猜猜你是否能约会成功
- python学习笔记之初识Python
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Android 实现永久性开启adb 的root权限
- 使用Android Studio实现为系统级的app签名
- Android开发实现控件双击事件的监听接口封装类
- Android普通应用升级为系统应用并获取系统权限的操作
- 使用kotlin协程提高app性能(译)
- Android中实现ping功能的多种方法详解
- Android开发获取手机内网IP地址与外网IP地址的详细方法与源码实例
- 在Android源码中编译出指定jar包的操作
- Android Studio 视频播放失败 start called in state1 异常怎么解决
- 解决Android 源码编译错误的问题
- Android 实现列表倒计时功能
- Android 多渠道(友盟)打包教程分享
- Android Broadcast 和 BroadcastReceiver的权限限制方式
- [GO] 变参函数-GO中函数传递变长参数
- 基于Android-Skin-Loader实现换肤效果