前两天又被公司叫去修改其他产品的一些问题了,没有看java相关的,今天周六,看了看MyBatis东西。

  就是简单的在MySql中建了个users表,很简单,包含id,name,age,写了个bean。如下:(注,由于初学java,可能很多名词用的并不是特别准确,大概理解一下就行了,待学成之后,再行修改。所谓大行不顾细谨,大礼不拘小节,O(∩_∩)O)

  

package com.tszhao.dao;

public class User {

</span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">int</span><span style="color: #000000;"> id;</br></br>
</span><span style="color: #0000ff;">private</span><span style="color: #000000;"> String name;</br>
</span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">int</span><span style="color: #000000;"> age;</br></br> </span><span style="color: #0000ff;">public</span> User(<span style="color: #0000ff;">int</span> id, String name, <span style="color: #0000ff;">int</span><span style="color: #000000;"> age) {</br>
</span><span style="color: #0000ff;">super</span><span style="color: #000000;">();</br>
</span><span style="color: #0000ff;">this</span>.id =<span style="color: #000000;"> id;</br>
</span><span style="color: #0000ff;">this</span>.name =<span style="color: #000000;"> name;</br>
</span><span style="color: #0000ff;">this</span>.age =<span style="color: #000000;"> age;</br>
}</br></br> </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span><span style="color: #000000;"> getId() {</br>
</span><span style="color: #0000ff;">return</span><span style="color: #000000;"> id;</br>
}</br>



public void setId(int id) {

this.id = id;

}

</span><span style="color: #0000ff;">public</span><span style="color: #000000;"> String getName() {</br>
</span><span style="color: #0000ff;">return</span><span style="color: #000000;"> name;</br>
}</br></br> </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> setName(String name) {</br>
</span><span style="color: #0000ff;">this</span>.name =<span style="color: #000000;"> name;</br>
}</br> </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span><span style="color: #000000;"> getAge() {</br>
</span><span style="color: #0000ff;">return</span><span style="color: #000000;"> age;</br>
}</br></br> </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span> setAge(<span style="color: #0000ff;">int</span><span style="color: #000000;"> age) {</br>
</span><span style="color: #0000ff;">this</span>.age =<span style="color: #000000;"> age;</br>
}</br></br> @Override</br>
</span><span style="color: #0000ff;">public</span><span style="color: #000000;"> String toString() {</br>
</span><span style="color: #0000ff;">return</span> "User [id=" + id + ", name=" + name + ", age=" + age + "]"<span style="color: #000000;">;</br>
}</br>

}

  在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中增加了一个默认的构造函数,通过。。。

  可能问题都不值得一提,但是,特此记录一下学习历程,也是一个很有意思的事。。。

MyBatis小问题-Mapper中错误No constructor found...的更多相关文章

  1. MyBatis小问题(1)-Mapper中错误No constructor found...

    前两天又被公司叫去修改其他产品的一些问题了,没有看java相关的,今天周六,看了看MyBatis东西. 就是简单的在MySql中建了个users表,很简单,包含id,name,age,写了个bean. ...

  2. 关于Mybatis的@Param注解 及 mybatis Mapper中各种传递参数的方法

    原文:https://blog.csdn.net/mrqiang9001/article/details/79520436 关于Mybatis的@Param注解   Mybatis 作为一个轻量级的数 ...

  3. Mybatis的Mapper中的方法为什么不能重载?

    目录 前言 环境配置 错误示范 为什么不能重载? 如何找到XML中对应的SQL? 总结 前言 在初入门Mybatis的时候可能都犯过一个错误,那就是在写Mapper接口的时候都重载过其中的方法,但是运 ...

  4. mybatis的mapper中,实体非空检验问题

    因为项目变动,数据库需要删除一个字段,于是勤劳的我把项目中对应的实体属性也给弄掉了,可是没有弄彻底,mybatis里面的mapper没有管,当时感觉是选择性的插入: <if test=" ...

  5. mybatis Mapper 中resultType使用方法及返回值为Map的写法

    mybatis学习(七)——resultType解析 resultType是sql映射文件中定义返回值类型,返回值有基本类型,对象类型,List类型,Map类型等.现总结一下再解释 总结: resul ...

  6. mybatis学习笔记--常见的错误

    原文来自:<mybatis学习笔记--常见的错误> 昨天刚学了下mybatis,用的是3.2.2的版本,在使用过程中遇到了些小问题,现总结如下,会不断更新. 1.没有在configurat ...

  7. MyBatis小案例完善增强

    https://blog.csdn.net/techbirds_bao/article/details/9233599 上链接为一个不错的Mybatis进阶博客 当你把握时间,时间与你为伍. 将上一个 ...

  8. mybatis框架(2)---mapper代理方法

    mapper代理方法 在我们在写MVC设计的时候,都会写dao层和daoimp实现层,但假如我们使用mapper代理的方法,我们就可以不用先daoimp实现类 当然这得需要遵守一些相应的规则: (1) ...

  9. mybatis如何根据mapper接口生成其实现类

    SpringBoot集成mybatis mybatis的statement的解析与加载 mybatis如何根据mapper接口生成其实现类 mybatis的mapper返回map结果集 mybatis ...

随机推荐

  1. 莫烦PyTorch学习笔记(五)——模型的存取

    import torch from torch.autograd import Variable import matplotlib.pyplot as plt torch.manual_seed() ...

  2. Jeecg-Boot前后端分离,针对敏感数据,加密传递方案

    # 针对敏感数据,加密传递方案 第一步: 在vue页面引入aesEncrypt.js encryption方法.示例代码: import { encryption } from '@/utils/en ...

  3. Linux 下的终端

    终端: 1 虚拟终端 ctrl + alt + F(1-6) : ctrl + alt + F7 : 图形终端 启动图形终端 : Gnome  :  #startx   或者  #startx &am ...

  4. C# GDI+编程(二)

    常用的绘图函数 DrawArc绘制一个弧形 示例:graphics.DrawArc(pen,,,,,,) 倒数第二个参数,表示起始度数,最后一个参数是弧形的跨越度数.比如起始度数是90,跨越度数是12 ...

  5. HttpException (0x80004005): 无法连接到 SQL Server 会话数据库

    ASP.NET 项目运行时出现错误提示:[HttpException (0x80004005): 无法连接到 SQL Server 会话数据库.] ,后排查问题发现是由于项目的Session模式是使用 ...

  6. MyEclipse设置 web访问根路径

    使用鼠标右键点击项目(点击属性properties)进入如下图:

  7. Java基础(业务问题)

    幂等的处理方式 一.查询与删除操作是天然幂等 二.唯一索引,防止新增脏数据 三.token机制,防止页面重复提交 四.悲观锁  for update 五.乐观锁(通过版本号/时间戳实现, 通过条件限制 ...

  8. 比特镇步行(Walk)【虚点+bfs+dfs】

    Online Judge:NOIP2016十连测第一场 T3 Label:虚点,bfs,dfs 题目描述 说明/提示 对于100%数据,\(n<=200000\),\(m<=300000\ ...

  9. 比特镇旅游(Tourist Attractions)【暴力+Bitset 附Bitset用法】

    Online Judge:NOIP2016十连测第一场 T2 Label:暴力,Bitset 题目描述 在美丽的比特镇一共有n个景区,编号依次为1到n,它们之间通过若干条双向道路连接. Byteasa ...

  10. Data Lake Analytics: 读/写PolarDB的数据

    Data Lake Analytics 作为云上数据处理的枢纽,最近加入了对于PolarDB的支持, PolarDB 是阿里云自研的下一代关系型分布式云原生数据库,100%兼容MySQL,存储容量最高 ...