MyBatis概述

1.2.1 MyBatis简介

(此文章用的主要软件idea,mysql)!

MyBatis是一个优秀的基于Java的持久层框架,它内部封装了JDBC,使开发者只需关注SQL语句本身,而不用再花费精力去处理诸如注册驱动、创建Connection、配置Statement等繁杂过程。

MyBatis通过xml或注解(配置)的方式将要执行的各种statement(statement、preparedStatement等)配置起来,并通过Java对象和Statement中的SQL的动态参数进行映射生成最终执行的SQL语句,最后由MyBatis框架执行SQL并将结果映射成Java对象并返回。

1.2.2 MyBatis与Hibernate (Spring Data JPA)

Hibernate框架是提供了全面的数据库封装机制的“全自动”ORM,即实现了POJO和数据库表之间的映射,以及SQL的自动生成和执行。

ORM : Object Relationship Mapping  对象关系映射

Java程序面向对象编程  对象(内存|瞬时态) <--------- 配置  ------> 关系型数据库(MySql  Oracle)  (硬盘 持久)

Hibernate是全自动的,纯面向对象方式操作数据库,调用对象的方法就可以对数据库进行增删改查操作,不需要写任何SQL语句

框架是最难学的,不灵活,不能优化SQL语句

相对于此,MyBatis只能算作是“半自动”ORM。其着力点,是在POJO类与SQL语句之间的映射关系。也就是说,MyBatis并不会为程序员自动生成SQL语句。具体的SQL需要程序员自己编写,然后通过SQL语句映射文件,将SQL所需的参数,以及返回的结果字段映射到指定POJO。因此,MyBatis成为了“全自动”ORM的一种有益补充。

与Hibernate相比,MyBatis具有以下几个特点:

  1. 在XML文件中配置SQL语句,实现了SQL语句与代码分离,给程序的维护带来了很大便利。
  2. 因为需要程序员自己去编写SQL语句,程序员可以结合数据库自身的特点灵活控制SQL语句,因此能够实现比Hibernate等全自动ORM框架更高的查询效率,能够完成复杂查询。
  3. 简单,易于学习,易于使用,上手快。

1.2.3 MyBatis体系结构

 

1.3 MyBatis工作原理

      

 

1.4 第一个MyBatis程序

Eclipse     工作空间(文件夹) ---> 各个工程目录

IDea      工程(文件夹),一个工程一个窗口 ----> 各个模块(子工程)

1.4.1 基本程序

环境搭建

(1)导入Jar包

构建路径: 将资源Jar包添加到JRE能查到的classpath类路径下

程序所有使用的类都需要在路径下能被找到才能使用

(2)创建实体类

(3)创建数据表

 

(4)定义Dao接口

(5)定义映射文件

在dao层接口所在包下创建映射文件 mapper.xml,并添加映射文件约束

 

通过MyBatis文档,查找如何建立约束文件和映射文件之前的约束

 

(6)定义主配置文件

在src类路径下创建主配置文件mybatis.xml,并添加主配置文件约束

 

 

XML没有自动提示问题的解决

 

 

 

(7)定义Dao实现类

.(8)定义测试类

 

必须在映射文件中给定namespace属性

  1. 添加日志控制文件

在src类路径下添加log4j.properties日志属性文件

 

 

namespace的作用:防止命名冲突

mapper.xml映射文件中的namespace设置的是xxx

mapper2.xml映射文件中的namespace设置的是ooo

会报错

可以使用namespace+id来指定

1.4.2 使用工具类

1.4.3 从属性文件中读取DB连接四要素

在src下定义属性文件

 在主配置文件中可以使用属性文件中的键来获取数据库连接4要素

 

1.4.4 多个映射文件

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值