mybatis快速入门学习教程新手注意问题小结

 更新时间:2017年02月10日 17:09:47   作者:精品唯居  
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。接下来通过本文给大家介绍mybatis快速入门学习教程新手注意问题小结,需要的朋友可以参考下

什么是mybatis

MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录.

orm工具的基本思想

无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点:

1. 从配置文件(通常是XML配置文件中)得到 sessionfactory.

2. 由sessionfactory  产生 session

3. 在session 中完成对数据的增删改查和事务提交等.

4. 在用完之后关闭session 。

5. 在Java 对象和 数据库之间有做mapping 的配置文件,也通常是xml 文件。

参数问题

    在映射文件中通过parameterType指定输入参数的类型;在映射文件中通过resultType指定输出结果的类型。

占位符和拼接符问题

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

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

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

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

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

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

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

selectone和selectList    

    在我们通过sqlSession进行查询的时候,可以选择selectOne和选择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快速入门学习教程新手注意问题小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Java 类与对象超基础讲解

    Java 类与对象超基础讲解

    类(class)和对象(object)是两种以计算机为载体的计算机语言的合称。对象是对客观事物的抽象,类是对对象的抽象。类是一种抽象的数据类型
    2022-03-03
  • MybatisPlus实现逻辑删除的示例代码

    MybatisPlus实现逻辑删除的示例代码

    本文主要介绍了Mybatis Plus实现逻辑删除的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • spring定义和装配bean详解

    spring定义和装配bean详解

    这篇文章主要介绍了spring定义和装配bean详解,具有一定参考价值,需要的朋友可以了解下。
    2017-12-12
  • RESTful API设计原则与实现示例详解

    RESTful API设计原则与实现示例详解

    这篇文章主要为大家介绍了RESTful API设计原则与实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • Spring Boot 2.X优雅的解决跨域问题

    Spring Boot 2.X优雅的解决跨域问题

    这篇文章主要给大家介绍了关于Spring Boot 2.X如何优雅的解决跨域问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring Boot 2.X具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • Java内存划分:运行时数据区域

    Java内存划分:运行时数据区域

    听说Java运行时环境的内存划分是挺进BAT的必经之路,这篇文章主要给大家介绍了关于Java运行时数据区域(内存划分)的相关资料,需要的朋友可以参考下
    2021-07-07
  • spring结合redis如何实现数据的缓存

    spring结合redis如何实现数据的缓存

    这篇文章主要介绍了spring结合redis如何实现数据的缓存,实现的目的目的不是加快查询的速度,而是减少数据库的负担,需要的朋友可以参考下
    2015-12-12
  • SpringBoot Admin 如何实现Actuator端点可视化监控

    SpringBoot Admin 如何实现Actuator端点可视化监控

    这篇文章主要介绍了SpringBoot Admin 如何实现Actuator端点可视化监控,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java中使用print、printf、println的示例及区别

    Java中使用print、printf、println的示例及区别

    Java 的输出方式一般有这三种,print、println、printf,它们都是 java.long 包里的System类中的方法,本文重点给大家介绍Java中使用print、printf、println的示例,需要的朋友可以参考下
    2023-05-05
  • java代码实现C盘文件统计工具

    java代码实现C盘文件统计工具

    今天周末,给大家分享基于java代码实现C盘文件统计工具,在这小编使用的版本是Maven-3.9.9,jdk1.8,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-07-07

最新评论