Mybatis入门知识

介绍

     Mybatis前身是apache的一个优秀ORM开源框架(ibatis),2010迁移到GoogleCode改名为Mybatis;2013年迁移到GitHub。

干什么的

    持久层框架,底层封装的是JDBC,负责连接数据库,和数据操作(增删改查)

ORM

    Object-Relationship-Mapping,对象关系映射,简单来说就是将数据库中的每个表映射到每一个对象中

    Mybatis映射对象全部为POJO,那么什么是POJO?即传统老式的java对象,没有实现过任何接口或者继承过任何其他类,更没有被其他框架侵入。

PojoJavaBean的比较

   pojo的格式是用于数据的临时传递,它只能装载数据,作为数据存储的载体,不具备业务处理能力,而javaBean虽然数据的获取和pojo一样,但是javaBean当中还可以有其他方法

JavaBean是一种JAVA语言携程的可重用组件。它的方法命名,构造行为必须符合特定的约定。

  这个类必学有一个公共的缺省的构造函数

  这个类的属性使用gettersetter来访问,其他方法遵从标准命名规范

  这个类是可序列化的

.Mybatis历史,特点

Ibatis=”internet”+”abatis”组合

是一个基于java的持久层框架

Java中有两种状态:顺态和持久态

顺态:创建对象,垃圾回收,对象当中的属性和状态没有保持住,叫顺态

持久态:状态和属性保存住了,保存点有文件和数据库

特点:

开源的优秀持久层框架

SQL语句和代码完全分离

面向配置的编程

良好支持复杂数据对象的映射

动态sql  

三.Mybatis工作流程

   1.读取配置文件

   2.生成SqlSessionFactory(建立与数据库的会话)

   3.调用Mybatis提供的API

   4.查询MAP配置

   5.返回结果

Mybatis其实就是个数据库连接工具,那么相对于JDBC而言,它有什么好处呢,解决了什么问题

Jdbc连接数据库的问题:

1.数据库连接,使用时创建,不使用就立即释放,对数据可进行频繁连接和关闭,造成数据库资源浪费,影响数据库性能

解决方案:使用数据连接池管理数据库连接

2.sql语句硬编码到sql代码中,如果sql语句修改,需要重新编译java代码,不利于系统维护

解决方案:将sql语句配置在xml配置文件中,即sql变化,不需要对java代码重新编译

3.prparedStatement中设置参数,对占位符为止和设置参数值,硬编码在java代码中,不利于系统维护

 设想:将sql语句即占位符合参数全部配置在xml

4.resultSet中遍历结果姐数据是,存在硬编码,将获取的表的字段进行硬编码,不利于系统维护,设想,将查询的结果集自动映射成java对象

如何解决JDBC存在的这些问题?下一篇Mybatis的入门程序再分析。

猜你喜欢

转载自blog.csdn.net/moshubai/article/details/82883305