resultType和parametertype的区别

文章目录

      • 1. resultType:
      • 2. parameterType:
      • 3. 总结
      • 看这里就够啦!!!!!!
      • 举例

1. resultType:

返回值类型,类型即为对象类型,返回结果字段与对象属性匹配映射,类型中的属性名要与查询条件保持一致,否则就会失败

resultType指定sql输出结果类型,总共就两种:

1. 基本数据类型。
2. pojo类类型。
   mybatis将sql查询结果的一行记录数据映射为resultType指定类型的对象。
   如果有多条数据,则分别进行映射,并把对象放到容器List中。
   所以即使返回是list数组,resultType也是pojo类型。

2. parameterType:

接收参数类型,同为对象类型,单字段 例如String类型 可以使用全包名或者单名称。

MyBatis的传入参数parameterType类型分两种
1基本数据类型:int,string,long,Date;
2复杂数据类型:类和Map

如何获取参数中的值:
1基本数据类型:#{value}或${value} 获取参数中的值
2复杂数据类型:#{属性名}或${属性名}  ,map中则是#{key}或${key}

3. 总结

resultType :主要针对从数据库中提取相应的数据出来 如:select从数据库查询。(sql输出结果类型)

parameterType :主要针对于将信息存入到数据库中 如:insert 增加数据到数据库。(传入参数类型)

看这里就够啦!!!!!!

  • resultType是sql语句查询结果集的封装类型,也就是说把sql查询的结果封装在bean里返回去,是存数据用的。

  • paramType是从传过来的Bean中取数据放进例如insert语句的values中当实参用,是取数据用的。

举例

从t_card表中查数据,返回类型肯定是Card对象
<select id="getCards" resultType="Card">
      select * from t_card
</select>

返回类型是对象,但是我们要从前端拿数据
所以就要用到parameterType,而id类型为int
<select id="getWorkerByCardId" parameterType="int" resultType="Worker">
     select * from t_worker where worker_card_id=#{id}
</select>

resultType和parametertype的区别_第1张图片

你可能感兴趣的:(mybatis,mysql,sql,java,mybatis,springboot)