MyBatis从精通到入门

您所在的位置:网站首页 驱动问题代码28 MyBatis从精通到入门

MyBatis从精通到入门

2023-06-28 23:25| 来源: 网络整理| 查看: 265

目录

介绍:

一、Mybatis背景介绍

二丶Mybatis特点

三、使用步骤

1.创建一个空的maven工程,先在maven仓库下载mybatis依赖

2.操作sql肯定跟数据库有关下载数据库驱动

 4.创建实体类

 5.dao层接口

 6.原来的dao层实现类变成mapper配置文件

resultMap

resultMap子元素说明

 7.测试类进行测试

 8.可能遇到的问题

1.配置文件没有注册

2.绑定接口错误

 3.方法名称没有对映正确

4.返回类型是否正确

5.maven资源问题

测试类执行结果

总结

介绍:

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

MyBatis中文文档:MyBatis中文网

 GitHub:https://github.com/mybatis/mybatis-3

一、Mybatis背景介绍

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

每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。

用xml文件构建SqlSessionFactory实例是非常简单的事情。推荐在这个配置中使用类路径资源(classpath resource),但你可以使用任何Reader实例,包括用文件路径或file://开头的url创建的实例。MyBatis有一个实用类----Resources,它有很多方法,可以方便地从类路径及其它位置加载资源。

二丶Mybatis特点

简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件。易于学习,易于使用。通过文档和源代码,可以比较完全的掌握它的设计思路和实现。

灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。

解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。

提供映射标签,支持对象与数据库的ORM字段关系映射。

提供对象关系映射标签,支持对象关系组建维护。

提供xml标签,支持编写动态sql。

三、使用步骤 1.创建一个空的maven工程,先在maven仓库下载mybatis依赖 2.操作sql肯定跟数据库有关下载数据库驱动

 3.创建mybatis配置文件

设置好的属性可以在整个配置文件中用来替换需要动态配置的属性值。比如:

这个例子中的 username 和 password 将会由 properties 元素中设置的相应值来替换。 driver 和 url 属性将会由 config.properties 文件中对应的值来替换。这样就为配置提供了诸多灵活选择。

也可以在 SqlSessionFactoryBuilder.build()方法中传入属性值 例如:

 4.创建实体类

 5.dao层接口

 6.原来的dao层实现类变成mapper配置文件

这里写的是resultType:

还是建议写成resultMap(

注意:在采用嵌套结果的方式查询一对一、一对多关系时,必须要通过resultMap下的id或result标签来显式设置属性/字段映射关系,否则在查询多条记录时会仅仅返回最后一条记录的情况。 ):

resultMap

属性说明

id属性,reslutMap标签的标识。

type属性,返回值的全限定类名,或类型别名

autoMapping属性,值范围true(默认值)|false, 设置是否启动自动映射功能,自动映射功能就是自动查找与字段名小写同名的属性名,并调用setter方法。而设置为false后,则需要在resultMap内明确注明映射关系才会调用对应的setter方法。

resultMap子元素说明

 id元素,用于设置主键字段与领域模型属性的映射关系

result元素,用于设置普通字段与领域模型属性的映射关系

 7.测试类进行测试

 8.可能遇到的问题 1.配置文件没有注册

MapperRegistry:映射器注册表

原因:每一个mapper.xml都需要在mybatis配置文件中注册

2.绑定接口错误  3.方法名称没有对映正确 4.返回类型是否正确 5.maven资源问题 测试类执行结果

总结

MyBatis是一个开源的Java持久化框架,它通过XML或注解的方式将Java对象映射到关系数据库中的SQL语句上。它提供了对复杂SQL语句的支持,使得开发人员可以灵活地定制SQL语句,从而提高了应用程序的性能和可维护性。以下是对MyBatis的总结:

映射文件:MyBatis需要一个映射文件,该文件描述了如何将Java对象映射到数据库的表上,并描述了SQL语句。映射文件通常包含命名空间、结果映射和SQL语句三个部分。

数据库连接信息:MyBatis需要配置数据库的连接信息,包括数据库类型、驱动程序类名、连接URL、用户名和密码等。

SQL语句的执行:MyBatis可以执行静态的SQL语句,也可以执行动态的SQL语句。动态SQL语句可以根据不同的条件动态地生成SQL语句。

参数和结果映射:MyBatis支持Java对象和数据库表之间的映射。可以使用注解或XML来定义Java对象和数据库表之间的映射。

缓存:MyBatis提供了一种缓存机制来提高应用程序的性能。它提供了两种缓存机制:本地缓存和二级缓存。

总之,MyBatis是一个功能强大的持久化框架,可以帮助开发人员快速地构建高性能的Java应用程序。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3