入门mybatis的第一天

MyBatis是一种开源的Java持久层框架,用于简化数据库操作。它提供了一种将SQL语句与Java代码解耦的方式,使得开发者可以通过配置文件或注解来定义SQL映射关系,从而实现方便的数据访问。

MyBatis的核心思想是以SQL为中心,通过将SQL语句和参数进行绑定,执行数据库操作并将结果映射为Java对象。相比于其他ORM框架,MyBatis更加灵活,可以直接编写原生的SQL语句,同时也支持动态SQL和存储过程等高级特性。

使用MyBatis可以有效地减少手写JDBC代码的工作量,提高开发效率。它还提供了一系列的插件和扩展点,可以对SQL语句的执行进行拦截和增强,实现自定义的功能扩展。

总之,MyBatis是一款成熟且广泛应用的Java持久层框架,为开发者提供了一种优雅而高效的数据访问解决方案。

MyBatis的优点

  • 灵活性:MyBatis可以直接编写原生的SQL语句,支持动态SQL和存储过程等高级特性,方便开发者根据实际需求进行定制。
  • 易于学习和使用:相比于其他ORM框架,MyBatis的学习曲线较为平缓,可以快速上手并进行开发。
  • 易于调试:MyBatis提供了详细的日志输出,方便开发者调试和排查问题。
  • 扩展性:MyBatis提供了插件和扩展点机制,可以对SQL执行过程进行拦截和增强,实现自定义功能扩展。

MyBatis的核心组件

  • SqlSessionFactorySqlSessionFactory是MyBatis的核心接口,用于创建SqlSession对象。它是基于配置文件或Java代码生成的,用来管理数据库连接和SQL映射关系。
  • SqlSession:SqlSession是与数据库进行交互的会话对象,通过它可以执行SQL语句、提交事务等操作。
  • Configuration:Configuration是MyBatis的配置类,包含了所有的配置信息,如数据库连接、映射关系等。可以通过XML配置文件或Java代码进行配置。

MyBatis的基本使用步骤

  1. 引入MyBatis依赖:在项目中引入MyBatis的相关依赖,可以通过Maven或Gradle进行管理。
  2. 创建SqlSessionFactory:通过读取配置文件或编写Java代码,创建SqlSessionFactory对象。
  3. 定义映射文件或注解方式:可以使用XML配置文件定义SQL映射关系,也可以使用注解方式直接在Java代码中定义。
  4. 创建SqlSession:通过SqlSessionFactory创建SqlSession对象。
  5. 执行SQL操作:通过SqlSession对象执行SQL语句,如插入、更新、查询等。
  6. 关闭SqlSession:最后需要关闭SqlSession对象,释放资源。

ORM

ORM(Object Relational Mapping) 即对象/关系映射,是实现域模型和关系模型相互转换的编程技术。

ORM 的方法论基于三个核心原则:

  • 简单:以最基本的形式建模数据。
  • 传达性:数据库结构被任何人都能理解的语言文档化。
  • 精确性:基于数据模型创建正确标准化了的结构。

ORM 解决的主要问题是对象关系的映射。域模型和关系模型分别是建立在概念模型的基础上的。域模型是面向对象的,而关系模型是面向关系的。一般情况下,一个持久化类和一个表对应,类的每个实例对应表中的一条记录,类的每个属性对应表的每个字段。

ORM 技术特点

1.提高了开发效率。由于 ORM 可以自动对 Entity 对象与数据库中的 Table 进行字段与属性的映射,所以我们实际可能已经不需要一个专用的、庞大的数据访问层。

2.ORM 提供了对数据库的映射,不用 sql 直接编码,能够像操作对象一样从数据库获取数据。

ORM 的优缺点

ORM 的缺点是会牺牲程序的执行效率和会固定思维模式。
从系统结构上来看,采用 ORM 的系统一般都是多层系统,系统的层次多了,效率就会降低。ORM 是一种完全的面向对象的做法,而面向对象的做法也会对性能产生一定的影响。

在我们开发系统时,一般都有性能问题。性能问题主要产生在算法不正确和与数据库不正确的使用上。ORM 所生成的代码一般不太可能写出很高效的算法,在数据库应用上更有可能会被误用,主要体现在对持久对象的提取和和数据的加工处理上,如果用上了 ORM,程序员很有可能将全部的数据提取到内存对象中,然后再进行过滤和加工处理,这样就容易产生性能问题。

mybatis工作原理

MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。其次MyBatis 还可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通的 Java对象)为数据库中的记录。

MyBatis 通过提供映射标签来配置数据库的SQL语句,这样可以使开发者从繁琐的JDBC代码中解脱出来,专注于SQL本身,而不是数据库的连接和资源管理。MyBatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java POJO(Plain Old Java Objects,普通的Java对象)为数据库中的记录。

MyBatis 的优点是简单、快速、高效,它可以减少开发人员编写的代码量,可以提高开发效率,而且可以很好地维护程序的可读性和可维护性。

MyBatis的特点:

1. 易于使用:MyBatis提供了一个非常简洁的API,可以轻松实现持久层的操作。

2. 灵活性:MyBatis提供了可配置的SQL,允许开发者根据需要定制特定的SQL语句,以满足不同的需求。

3. 性能提高:MyBatis提供了一种缓存机制,可以有效地提高查询的性能,并确保数据的一致性。

4. 简单性:MyBatis使用简单的XML或注解来配置和映射原始类型,使得开发者不必写复杂的数据库字段映射代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值