mybatis

简述

Jdbc的缺点

1、 在创建连接时,存在硬编码

2、 在执行statement时存在硬编码

3、 频繁的开启和关闭数据库连接,会造成数据库性能下降。

使用mybatis可以解决以上问题:使用配置文件(全局配置文件)、使用配置文件(映射文件)、数据库连接池(全局配置文件)

Mybatis简介:

MyBatis的持久化解决方案是将用户从原始的JDBC访问中解放出来,用户只需要定义需要操作的SQL语句,无须关注底层的JDBC操作,就可以以面向对象的方式来进行持久化层操作.底层数据库连接的获取,数据访问的实现,事务控制等都无须用户关心,从而将应用层从底层的JDBC/JTA API抽取出来.通过配置文件管理JDBC连接,让MyBatis解决持久化的实现.在MyBatis中的常见对象有SqlSessionFactory和SqlSession.本文这种介绍一下两者的概念和使用。

SqlSessionFactory简介

SqlSessionFactory是MyBatis的关键对象,它是个单个数据库映射关系经过编译后的内存镜像.SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象类获得,而SqlSessionFactoryBuilder则可以从XML配置文件或一个预先定制的Configuration的实例构建出SqlSessionFactory的实例.每一个MyBatis的应用程序都以一个SqlSessionFactory对象的实例为核心.同时SqlSessionFactory也是线程安全的,SqlSessionFactory一旦被创建,应该在应用执行期间都存在.在应用运行期间不要重复创建多次,建议使用单例模式.SqlSessionFactory是创建SqlSession的工厂

SqlSession简介

SqlSession是MyBatis的关键对象,是执行持久化操作的独享,类似于JDBC中的Connection.它是应用程序与持久层之间执行交互操作的一个单线程对象,也是MyBatis执行持久化操作的关键对象.SqlSession对象完全包含以数据库为背景的所有执行SQL操作的方法,它的底层封装了JDBC连接,可以用SqlSession实例来直接执行被映射的SQL语句.每个线程都应该有它自己的SqlSession实例.SqlSession的实例不能被共享,同时SqlSession也是线程不安全的,绝对不能讲SqlSeesion实例的引用放在一个类的静态字段甚至是实例字段中.也绝不能将SqlSession实例的引用放在任何类型的管理范围中,比如Servlet当中的HttpSession对象中.使用完SqlSeesion之后关闭Session很重要,应该确保使用finally块来关闭它.

 

创建mybatis的工程:(Dao方式实现crub)

1.创建数据库

 

 

2.搭建工程

 

 

3.代码实现

  3.1创建po类

  

 

  3.2创建全局配置文件

  

 

  3.3配置映射文件

  

 

  3.4加载映射文件

 

 

4.代码测试

 

 

5.运行效果(查找所有用户)

 

 

posted @ 2019-03-29 16:17  借我两块买雪糕  阅读(141)  评论(0编辑  收藏  举报