MyBatis零散的总结

Posted 打杂工程师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis零散的总结相关的知识,希望对你有一定的参考价值。

1输入映射——parameterType

   所谓的输入映射,也就是在Mapper.xml文件中的传入参数的类型的设置。

    在映射文件中通过parameterType指定输入参数的类型。类型可以是简单类型、hashmap、pojo的包装类型,如在程序中自定义的User实体类型。

    

2输出映射——resultType

    同上边所说的类似,输出映射也就是Mapper.xml文件中设置的返回值的类型。在映射文件中通过resultType指定输出结果的类型。而且输出数据的类型也可以是简单类型、hashmap、pojo的包装类型。

    

3#和$

#表示一个占位符号,#接收输入参数,类型可以是简单类型,pojo、hashmap。

如果接收简单类型,#中可以写成value或其它名称。

#接收pojo对象值,通过OGNL读取对象中的属性值,通过属性.属性.属性...的方式获取对象属性值。

 

$表示一个拼接符号,会引用sql注入,所以不建议使用$

$接收输入参数,类型可以是简单类型,pojo、hashmap。

如果接收简单类型,$中只能写成value。

$接收pojo对象值,通过OGNL读取对象中的属性值,通过属性.属性.属性...的方式获取对象属性值。

 

 1.1.4selectOne和selectList

 

selectOne表示查询出一条记录进行映射。如果使用selectOne可以实现使用selectList也可以实现(list中只有一个对象)。

 

selectList表示查询出一个列表(多条记录)进行映射。如果使用selectList查询多条记录,不能使用selectOne。

 

如果使用selectOne报错:

org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 4

        

mybatis和hibernate本质区别和应用场景

 

hibernate是一个标准ORM框架(对象关系映射)。入门门槛较高的,不需要程序写sql,sql语句自动生成了。

对sql语句进行优化、修改比较困难的。

应用场景:

         适用与需求变化不多的中小型项目,比如:后台管理系统,erp、orm、oa。。

 

mybatis:专注是sql本身,需要程序员自己编写sql语句,sql修改、优化比较方便。mybatis是一个不完全 的ORM框架,虽然程序员自己写sql,mybatis 也可以实现映射(输入映射、输出映射)。

应用场景:

         适用与需求变化较多的项目,比如:互联网项目

 

企业进行技术选型,以低成本高回报作为技术选型的原则,根据项目组的技术力量进行选择。

以上是关于MyBatis零散的总结的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis第一章

JavaWeb基础零散总结

js 零散知识总结

SAS零散知识总结

Javascript零散知识点总结

js零散知识点总结