mybatis

一、什么是框架

        它是我们软件开发中的一套解决方案,不同的框架解决不同的问题(mybatis解决持久层的问题,springmvc解决点线程的问题)

       使用框架的好处:

             框架封装了很多的细节,使得开发者可以使用极简的方式实现功能,提高开发效率。

二、三层架构

表现层:用来展示数据;

业务层:用来处理业务需求;

持久层:和数据库交互的。

三、持久层技术解决方案

JDBC技术:Connection、Preparedstatement、ResultSet

Spring的JdbcTemplate:Spring中对jdbc的简单封装

Apache的DBUtils:它和JdbcTemplate很像,也是对jdbc的简单封装

但是,以上这些都不是框架,JDBC是规范,Spring的JdbcTemplate和Apache的DBUtils都只是工具类。四

四、MyBatis框架概述

MyBatis:

  • 是一个持久层框架,用Java编写的。
  • 它封装了JDBC操作的很多细节,使得开发者只需关注SQL语句本身,无需关注注册驱动、创建连接等繁杂过程。
  • 它使用ORM思想实现了对结果集的封装。

ORM:Object Relational Mapping 对象关系映射

简单说,就是把数据库表和实体类以及实体类的属性对应起来,让我们可以操作实体类就实现操作数据库表。

         实体类中的属性和数据库表的字段名称保持一致。

         表名:user             属性:id,user_name

         类名:User            属性:id,user_name

五、MyBatis的入门

 mybatis环境搭建:

  • 创建maven工程并导入坐标;
  • 创建实体类和dao的接口;
  • 创建MyBatis的主配置文件SqlMapConfig.xml
  • 创建映射配置文件IUserDao.xml.

环境搭建的注意事项:

  1. 创建IUserDao.xml和IUserDao.java时名称是为了和我们之前的知识保持一致,在Mybatis中它把持久层的操作接口名称和映射文件也叫作:Mapper。所以,IUserDao和IUserMapper是一样的
  2. 在IDEA创建目录时,它和包是不一样的,包在创建时,com.itheima.dao是三级结构。目录在创建时,com.itheima.dao是一级结构
  3. MyBatis的映射配置文件位置必须和dao接口的包结构相同
  4. 映射配置文件的mapper标签namesapace属性的取值必须是dao接口的全限定类名
  5. 映射配置文件的操作配置(select),id属性的取值必须是dao接口的方法名。
  6. 遵从了3,4,5点后,开发中无需再写dao的实现类。

MyBatis的入门案例:

  1. 读取配置文件
  2. 创建SqlSessionFactory工厂
  3. 创建SqlSessin
  4. 创建Dao接口的代理对象
  5. 执行Dao中的方法
  6. 释放资源

注:不要忘记在映射配置中告知MyBatis要封装到哪个实体类中配置的方式:指定实体类的全限定类名

MyBatis基于注解的入门案例:

把IUserDao.xml移除,在Dao接口的方法上使用@Select注解,并且指定SQL语句。同时需要在SqlMapConfig.xml中的mapper配置时,使用class属性指定Dao接口的全限定类名。

明确:实际开发中,基本都采用不写Dao实现类的方式。使用XML或者注解配置。但是MyBatis是支持写Dao实现类的。

六、自定义MyBatis分析

MyBatis在使用代理Dao的方式实现增删改查:(1)创建代理对象(2)在代理对象中调用selectList

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值