Java-MyBatis入门-第45节

学习目标:

  • 了解什么是框架,理解MyBatis是什么;
  • 学会使用MyBatis;
  • 学会创建自己的MyBatis。

学习内容:

一、mybatis入门
1、什么是框架?
  • 软件开发中的一套解决方案,提高开发效率
2、三层架构
  • 表现层:用于展示数据
  • 业务层:处理业务需求
  • 持久层:和数据库交互(mybatis持久层框架)
3、持久层技术解决方案
  • JDBC技术:
    • Connection
    • PreparedStatement
    • ResultSet
  • Spring的JDBCTemplate
    • Spring中对jdbc的简单封装
  • Apache的JDBCUtils
    • 对jdbc的简单封装
  • 以上这些都不是框架
    • jdbc是规范
    • Spring的JDBCTemplate和Apache的JDBCUtils都只是工具类
二、mybatis概述
1、mybatis是一个持久层框架,用java编写的
2、封装了jdbc操作的很多细节,使开发者只需要关注sql语句本身,无需关注注册驱动,创建连接等繁杂过程
3、使用ORM思想实现结果集的封装
4、ORM:Object Relational Mapping 对象关系映射
  • 把数据库表和实体类以及实体类的属性对应起来,可以操作实体类就实现操作数据库表
    • user User
    • id userId
    • user_name userName
  • 实体类中的属性和数据库表中的字段名称一致
    • user User
    • id id
    • user_name user_name
三、mybatis环境搭建
1、创建Maven工程并导入坐标
2、创建实体类和dao接口
3、创建mybatis的主配置文件SqlMapConfig.xml
4、创建映射配置文件UserDao.xml
5、注意事项
  • 创建UserDao.xml和UserDao.java时名称保持一致,在mybatis中把持久层的操作接口名称和
    映射文件名称也叫做:Mapper,所以UserDao和UserMapper是一样的;
  • 在idea中创建目录时和包是不一样的,
    包在创建时:com.xuefeng.dao是三级结构
    目录在创建时:com.xuefeng.dao是一级目录
  • mybatis的映射配置文件位置必须和dao接口的包结构相同
  • 映射配置文件的Mapper标签namespace属性的取值必须是dao接口的全限定类名
  • 映射配置文件的操作配置(select),id属性的取值必须是dao接口的方法名
  • 当遵从后三条限制,开发中就无需在写dao实现类
四、mybatis入门案例
1、mybatis基于xml配置文件的入门
  • 读取配置文件
  • 创建SqlSessionFactory工厂
  • 使用工厂生产SQLSession对象
  • 使用SQLSession创建dao接口的代理对象
  • 使用代理对象执行方法
  • 释放资源
2、注意事项
  • 配置查询结果封装到那个实体类
  • 配置封装时,指定实体类的全限定类名
3、mybatis基于注解的入门
  • 把UserDao.xml移除,在dao接口的方法上使用@Select注解,并指定SQL语句
  • 在SqlMapConfig.xml中的Mapper配置时,使用class属性指定dao接口的全限定类名
五、自定义mybatis框架(了解mybatis执行细节)
1、mybatis在使用代理dao方式实现增删改查时做了什么?
  • 创建代理对象
  • 在代理对象中调用selectList
2、自定义mybatis涉及的类
  • class Resources
  • class SqlSessionFactoryBuilder
  • Interface SqlSessionFactory
  • Interface SqlSession

学习产出:

项目文件:请点击获取压缩包
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值