Mybatis笔记

JDBC的弊端:

         JDBC 维护性差,硬编码不易修改

          代码冗余量大

        JDBC 属于底层技术,不支持分布式,缓存等技术,对复杂应用场景不友好

        JDBC 中的Sql语句固定,使得sql语句不灵活。

ORM指什么?

ORM 模型是数据库的表和简单 Java 对象(Plain Ordinary Java Object,简称 POJO)的映射关系模型,主 要解决数据库数据和 POJO 对象的相互映射。

常见的ORM模型

Hibernate 是一个全自动的ORM使用模型,可以自动生成Sql语句,自动执行(代码可定义性差)
Mybatis 是一个半自动的ORM使用模型,支持定制化Sql(不能全自动执行),存储过程,高级映射。

Hibernate和Mybatis的区别:

1. Hibernate是全自动化ORM; Mybatis是半自动化ORM。
2. Hibernate简化dao层,不用考虑SQL语句的编写和结果映射,重点放在业务逻辑上;
Mybatis需要手写SQL语句以及结果映射。
3. Hibernate是一个重量级的框架,内部生成SQL语句,反射操作太多,导致性能下降;
Mybatis是一个轻量级的框架,需要自己写sql语句,有较少的反射操作。
4. Hibernate 不方便做SQL优化,遇到较复杂的SQL语句需要绕过框架实现复杂,
对多字段的结构进行部分映射困难;
Mybatis 不仅可以做SQL优化还可以SQL与Java分离,还可以自行编写映射关系,
复杂的SQL语句Mybatis效率更高
Mybatis优势:
可以进行更细致的SQL优化;容易掌握
Hibernate优势;
dao层开发比mybatis简单,mybatis需要维护SQL和结果映射
hibernate数据库移植性好

Mybatis的搭建

1 导入14个外部包,并build path(变成奶瓶)

2在src下创建一个名为 mybatis-config.xml的主映射文件,用来连接数据库,里面需要修改的参数是 数据库地址,用户名,密码,以及指定一个副的xml文件的映射地址。

3.创建四个包,分别为 com.ape.bean (存放实体) com.ape.mapper(存放副的xml文件,内填写sql语句,并指定实bean目录下的类型(resultType),需要修改 namespace ,以及每个sql语句单独的id地址)

4创建 com.ape.dao 包 并在里面创建一个工具类,一个接口,工具类中写回重复的代码以及都要执行的步骤,接口中定义好要实现的方法。

5 创建 com.ape.dao.impl 包 该包里面做一个实现imdao 的类,实现具体功能,并调用Dao包下的工具包来减去冗余的代码。 步骤仍遵循Mybtais的使用步骤,在得到sqlsessinonfectory创建出来的sqlsession时,代码参数要指定 唯一Id

 如图所示src下的的四个指定包以及一个测试包,还有一个直接存放在Src的主配置映射文件

各个包的具体存放,需要注意包名,包通过"."来确定归属关系,所以要定注意包名的格式。

                                                        mybatis的执行过程格式

只有 sqlsession需要进行关闭流

        

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值