博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis基础犯错总结
阅读量:6941 次
发布时间:2019-06-27

本文共 1685 字,大约阅读时间需要 5 分钟。

1、关于mybatis的文件一般都是其mapper文件出错:

首先关于输入参数parameterType出错:

(1)基本数据类型:如果输入参数只有一个,其数据类型可以是基本数据类型,也可以是自己定的类型:包括int,String,Date,Integer这些。

但是要注意,在接口中的 int类型对应parameterType为int,若前面声明的是  Integer类型,则后面mapper文件中也要写Integer类型,否则报错。     

 

//注意这里传递的类型:从controller传递过来的是Integer则,这个mapper中的parameterType必须是Integer //若从Controller传递过来的是int,则mapper中parameterType必须是int。两者不能互用。

这个必须与controller层传递过来的类型一致。

另外在oo编程中,声明变量,能用包装类就用包装类,比如用Integer,而不用int。

int默认为0,Integer默认null。

持久层对象或者Controller、Service、Dao中用Integer。Mapper文件中用Integer

循环体,方法中用int。

 

 

 

 

                                             

这里回顾下java的基本数据类型:

基本数据类型和包装类的区别还是很大,这点估计你也是清楚的。 比如int a = 3;Integer b = new Integer(3); a和b的值都是3,但a是值对象,b是引用对象,因此二者是不等同的。相较而言值对象使用起来更方便一些(不用手动创建对象已经实例化) char是字符型,比如 char c = 'd',这里用的是单引号,字符串用的是双引号(String s = "s"), 它并不是整数类型,只不过jdk会对照ascII表把它转成对应的数字值,我们才可以利用这个特性。 在一般的开发中我们用String比较多而char比较少,因为char的场景多半都可以用string来处理,但这并不是说char就没有作用。只不过取决于与你编写代码的严谨程度。 另外在处理buffer流时用的都是char。
再次强调char不是整数类型,char(字符类型)在内存中占2个字节,而int(整数类型)占4个字节 关于String与char的关系:

 

 

 

 

(2)复杂数据类型:包含java实体类或者多个参数,或者Map

关于多个参数传入有两种方法:仔细看下面的区别:

Map参数示例:

a:一种是将两个字段封装成map来进行传递给mapper文件。

xml文件

 

java代码  

Map
map=new HasMap
(); map.put("id","2"); map.put("sex","男"); List
tList = teacherMapper.selectTeacher(map); for (Teacher entityTemp : tList) { System.out.println(entityTemp.toString()); }

 

b:第二种传入多个参数的方式:使用注解的方式来传入:

另外MyBatis还提供了一个使用注解来参入多个参数的方式。

这种方式需要在接口的参数上添加@Param注解

示例:

接口方法

public List
selectTeacher(@Param(value="id") String id,@Param(value="sex") String sex);

XML文件

这个xml文件中,
 

 备注:

mysql与java数据类型的对应:

 

转载地址:http://qrljl.baihongyu.com/

你可能感兴趣的文章
[LeetCode] Plus One 解题报告
查看>>
Genome-wide Complex Trait Analysis(GCTA)-全基因组复杂性状分析
查看>>
贪吃蛇闪烁现象
查看>>
NOIP 2014 D1T1 -生活大爆炸版石头剪刀布
查看>>
[转]熵(Entropy),交叉熵(Cross-Entropy),KL-松散度(KL Divergence)
查看>>
VS基本教程
查看>>
Jmeter也能IP欺骗!
查看>>
iOS开发的Sketch之旅
查看>>
Python之tkinter中的askyescancel窗口返回值
查看>>
asp.net core系列 55 IS4使用Identity密码保护API
查看>>
VS2008中生成DLL项目
查看>>
1.4(Spring MVC学习笔记)JSON数据交互与RESTful支持
查看>>
[系统]安装fedora 19
查看>>
ajax发送请求(关于搜索引擎)
查看>>
思维导图
查看>>
php 开发环境部署
查看>>
js 文本框只能输入数字
查看>>
java版b2b2c社交电商spring cloud分布式微服务(九)服务链路追踪(Spring Cloud Sleuth)...
查看>>
注意:Java中Switch语句的参数类型-_-!...
查看>>
jsp中怎么调用java类中的方法
查看>>