传统的JDBC编程JAVA程序通过JDBC链接数据库,这样我们就可以通过SQL对数据库进行编程。
JAVA链接数据库大致分为5步。
1.使用JDBC编程需要链接数据库,注册驱动和数据库信息。
2.操作Connection,打开Statement对象。
3.通过Statement执行SQL语句,返回结果放到ResultSet对象。
4.使用ResultSet读取数据。
5.关闭数据库相关的资源。
传统的JDBC方式存在一些弊端,第一点,工作量比较大。我们需要先建立链接,然后处理JDBC底层业务,处理数据类型。我们还需要处理Connection对象,Statement对象和Result对象去拿数据,并关闭它们。第二点我们对JDBC编程处理的异常进行捕获处理并正确的关闭资源。
MyBatis首先我们先了解一下MyBatis的核心组件。
1.SQLSessionFactoryBuilder(构造器):它会根据配置信息或者代码生成SqlSessionFactory。
2.SqlSessionFactory(工程接口):依靠工程生成SqlSession。
3.SqlSession(会话):是一个既可以发送SQL去执行并且返回结果,也可以获取Mapper接口。
4.SQL Mapper:是由一个JAVA接口和XML文件(或注解)构成,需要给出对应的SQL和映射规则。SQL是由Mapper发送出去,并且返回结果。
————————————————
总结: 从上面的流程图可以看出MyBatis和JDBC的执行时相似的。Mybatis的实现原理就是对JDBC进行了封装,将相应的接口留给了程序员。只要程序员在配置文件中配置中填写自己的数据库类型,数据库,数据表,用户名,密码,相应的SQL语句,省去了创建连接,创建Statement对象和Result对象大大的提高了代码复用性。MyBatis相对于JDBC执行的速度相对较慢,因为JDBC更接近底层。