java学习day17MyBatis

Mybatis

数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中数据模型的统称。例如,文件的存储、数据的读取以及对数据表的增删改查等都是数据持久化操作

MyBatis支持定制化SQL、存储过程以及高级映射,可以在实体类和SQL语句之间建立映射关系,是一种半自动化的ORM实现。其封装低于Hibernate,但性能优秀、小巧、简单易学、应用广泛。

ORM(Object Relational Mapping)对象关系映射

是一种数据持久化技术,它在对象模型和关系型数据库之间建立起对应关系、并且提供了一种机制,通过JavaBean对象去操作数据库表中的数据

MyBatis前身为iBatis,2002年由ClintonBegin发布。2010年从Apache迁移到Google,并改名为MyBatis,2013年又迁徙到了Github。

MyBatis的主要思想是将程序中的大量SQL语句剥离出来,使用XML文件或注解的方式实现SQL的灵活配置,将SQL语句与程序代码分离,在不修改程序代码的情况下,直接在配置文件中修改SQL语句。

MyBatis与其他持久性框架最大的不同是,MyBatis强调使用SQL,而其他框架(例如Hibernate)通常使用自定义查询语言,即HQL(Hibernate查询语言)或EJB QL(Enterprise JavaBeans查询语言)

搭建Mybatis

添加依赖

配置数据源

配置Mapper文件路径和别名以及日志级别

定义Mapper,namespace中填写对应Dao包的路径

创建对应封装类

定义数据访问层接口,使用Mapper接口

Controller层

增删改查

SQL语句执行分为两个过程

1.编译

2.执行指令

${}和#{}的区别:

        #{}会进行预编译,将SQL语句的语义确定,之后无论传递任何参数都不会改变SQL语句语义,可以有效防止SQL注入,也可加快批处理的效率

---------------------------------------------------------------------------------------------------------------------------------

增<insert id="">

insert into 表名(列名…) value(值…)

dao接口

Controller层

---------------------------------------------------------------------------------------------------------------------------------

删<delete id="">

delete from 表明 where 条件

dao接口

Controller层

---------------------------------------------------------------------------------------------------------------------------------

改<update id="">

update 表名 set 列名=属性… where 条件

dao接口

Controller层

---------------------------------------------------------------------------------------------------------------------------------

查<select id="" resultType="">

select 列名… from 表名 where 条件

dao接口

Controller层

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值