前两天又被公司叫去修改其他产品的一些问题了,没有看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. Python-面向对象之封装与多态

    目录 组合 什么是组合 使用组合的目的 如何使用组合 封装 什么是封装 为什么要封装 如何封装 访问限制机制 什么是访问限制机制 访问限制机制的目的 如何使用访问限制 property 什么是prop ...

  2. filebeat+redis+logstash+elasticsearch+kibana搭建日志分析系统

    filebeat+redis+elk搭建日志分析系统 官网下载地址:https://www.elastic.co/downloads 1.下载安装filebeat wget https://artif ...

  3. 用区块链技术做一个 不可被修改的 恋爱记录 app 我叫<<誓言>>

    区块链技术 具有不可篡改,去中心化,共识机制等优秀的特性, 都用来做 代币钱包什么的.我觉得完全是浪费. 我的想法是用哪个区块做一个dapp 1 里面写着每个人的恋爱记录,爱情宣言. 2 一个人一生 ...

  4. Servlet和模本办法

    抽象类HttpServlet,提供7个子方法的默认实现,当我们手写Servlet只需要继承HttpServlet并替换相应的do方法来完成自己的业务逻辑即可. 我们一般的实现方法: public My ...

  5. tensorflow/models 下面的data_augment_options的random_image_scale

    这个random_image_scale应该是改变整个图片的大小,而不是“box”图片的大小

  6. sql里面插入语句insert后面的values关键字可省略

    插入到表名(列值)后跟一个查询语句的话就代表值,简单的说就是后面select select出来的值就是要插入的值,即  insert into tb(字段名一,字段名二)select 字段名一,字段名 ...

  7. Vuex持久化存储之vuex-persist

    在引入mapMutations时报错,解决方法: 1:npm install --save-dev babel-plugin-transform-object-rest-spread 2:在packa ...

  8. Java虚拟机原理图解-- 1.1、class文件基本组织结构 [转]

    作为Java程序猿,我们知道,我们写好的.java 源代码,最后会被Java编译器编译成后缀为.class的文件,该类型的文件是由字节组成的文件,又叫字节码文件.那么,class字节码文件里面到底是有 ...

  9. BottomNavigationView(底部导航)

    BottomNavigationView 很早之前就在 Material Design 中出现了,但是直到 Android Support Library 25 中才增加了 BottomNavigat ...

  10. opencv4 java投影

    工程下载 https://download.csdn.net/download/qq_16596909/11505994 比较适合与验证码的处理,毕竟八邻域降噪不能消除比较大的噪点,为了尽量减少噪点对 ...