Day83 Java框架 Mybatis(一)_简介--入门

Mybatis介绍

学习过的持久层框架:DBUtils , Hibernate
Mybatis就是类似于hibernate的orm持久层框架。

学习Mybatis原因:

⦁    Hibernate学习门槛不低,要精通门槛更高。门槛高在怎么设计O/R映射,在性能和对象模型之间如何权衡取得平衡,以及怎样用好Hibernate缓存与数据加载策略方面需要你的经验和能力都很强才行。国内目前前的情况精通hibernate技术大牛非常少。
⦁    sql优化方面,Hibernate的查询会将表中的所有字段查询出来,这一点会有性能消耗。当然了,Hibernate也可以自己写SQL来指定需要查询的字段,但这样就破坏了Hibernate开发的简洁性。说得更深入一些,如果有个查询要关联多张表,比如5张表,10张表时,而且,我们要取的字段只是其中几张表的部分字段。这时用hibernate时就会显得非常力不从心。就算用hibernate的sqlquery,后续的维护工作也会让人发狂。

 JDBC编程回顾与存在的问题

一.开发步骤

  1. 导入数据脚本,在课前资料中有
  2. 创建工程,导入mysql jar包
  3. 编码

二.Jdbc访问数据库的过程

  1. //加载数据库驱动
  2. //创建数据库连接
  3. //创建statement
  4. //设置sql语句
  5. //设置查询参数
  6. //执行查询,得到ResultSet
  7. //解析结果集ResultSet
  8. //释放资源

三.Jdbc存在的问题

  1. 频繁创建和打开、关闭数据连接,太消耗资源
  2. Sql语句存在硬编码,不利于维护
  3. Sql参数设置硬编码,不利于维护
  4. 结果集获取与遍历复杂,存在硬编码,不利于维护,期望能够查询后返回一个java对象

Mybatis入门

介绍:

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
Mybatis是面向sql的持久层框架,他封装了jdbc访问数据库的过程,我们开发,只需专注于sql语句本身的拼装,其它复杂的过程全部可以交给mybatis去完成。

一.需求列表

  1. 根据用户ID查询用户信息
  2. 根据用户名查找用户列表
  3. 添加用户
  4. 修改用户
  5. 删除用户

二.工程搭建

  1. 导入依赖jar包,在课前资源中有
  2. 配置SqlMapConfig.xml,可参考课前资料
  3. 配置log4j.properties,可参考课前资料
  4. 在课前资料复制pojo到工程目录下
  5. 配置sql查询的映射文件,可参考课前资料
  6. 加载映射文件

三.完成需求

  1. 步骤:
    编写sql语句
    配置user映射文件
    编写测试程序
  2. 根据用户ID查询用户信息
    1. 加载映射文件

      sql
    2. MyBatis访问数据库代码
    3. 抽取SqlSessionFactoryUtils工具类,共享SqlSessionFactory创建过程
  3. 根据用户名查找用户列表
    1. 映射文件与sql
    2. MyBatis访问数据库代码
  4. 添加用户
    1. 映射文件与sql
    2. MyBatis访问数据库代码
    3. Mysql自增返回
    4. Mysql的uuid返回主键
      注:在使用uuid之前数据库user表要先加上uuid2字段、user的pojo也要加上相应属性
  5. 修改用户
  6. 删除用户

四.Mybatis入门小结与Mybatis架构图

Mybatis Dao开发方式

一.Dao需求

  1. 根据用户ID查询用户信息
  2. 根据用户名查找用户列表
  3. 添加用户

二.原始Dao开发方法

  1. 使用原有的user映射文件,不需修改
  2. 新建个UserDao接口
  3. 新建个UserDaoImpl接口实现类
  4. 使用dao测试

三.官方推荐,接口动态代理

  1. 动态代理dao开发规则
    ⦁    namespace必需是接口的全路径名
    ⦁    接口的方法名必需与映射文件的sql id一致
    ⦁    接口的输入参数必需与映射文件的parameterType类型一致
    ⦁    接口的返回类型必须与映射文件的resultType类型一致
  2. 动态代理dao开发步骤

    ⦁    创建UserMapper.xml映射文件(把原来的user.xml复制按开发规则要求修改一下)
    ⦁    创建UserMapper接口(把原来的UserDao.java复制按开发规则要求修改一下)
    ⦁    加载UserMapper.xml

  3. 测试动态代理Dao

SqlMapConf.xml配置

一.配置内容

二.properties

  1. 属性核心文件配置
  2. jdbc.properties

三.typeAliases

  1. mybatis支持别名:
          
  2. 自定义别名

四.mappers

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值