mybatis 知识点回顾

写在前面

这是一个对 mybatis 部分重要特性 的回顾, 比较简单,也没有什么组织。

JDBC编程步骤

1、 加载数据库驱动 

2、 创建并获取数据库链接 

3、 创建jdbc statement对象 

4、 设置sql语句 

5、 设置sql语句中的参数(使用preparedStatement) 

6、 通过statement执行sql并获取结果 

7、 对sql执行结果进行解析处理 

8、 释放资源(resultSet、preparedstatement、connection)

#{} 和 ${}

#{}

占位符,引号包起来,

推荐使用 #{}

预编译后变成占位符?,参数替换在DBMS,预编译后SQL 的会被缓存起来

${}

拼接符, 不会会以引号包起来,

涉及表名使用${}

预编译已经替换好了参数

SQL写在 XML和 写在DAO的区别

一般是推荐前者,搞一些映射配置就行了。

后者每次SQL修改需要重编译JAVA代码。

说实话 我觉得后者方便多了 ,毕竟只需要了解一些基本注解的使用,类的创建也比XML方便,也不用维护每一个映射路径(前者好像也可以写非全路径,我用的少记不带请了)

mybatis和hibernate

hibernate:是一个标准ORM框架(对象关系映射)。入门门槛较高的,不需要程序写sql,sql语句自动生成了。 

对sql语句进行优化、修改比较困难的。

应用场景: 

适用与需求变化不多的中小型项目,比如:后台管理系统,erp、orm、oa。

mybatis:专注是sql本身,需要程序员自己编写sql语句,sql修改、优化比较方便。mybatis是一个不完全 的ORM框架,虽然程序员自己写sql,mybatis 也可以实现映射(输入映射、输出映射)。

应用场景: 

适用与需求变化较多的项目,比如:互联网项目。

企业进行技术选型,以低成本 高回报作为技术选型的原则,根据项目组的技术力量进行选择。

mybatis一些特殊用用法

  • My Batis将CLOB类型的列映射到java.lang.String类型上、而把BLOB列映射到byte[]类型上。
  • MyBatis默认从左到右给方法的参数命名为param1、param2…,依次类推。
  • 多行结果集映射成Map @MapKey("Id") Map<Long, XXXDto>
  • 分页手段: RowBounds  ,不过我建议在SQL中直接就给它分了。
  • ResultHandler  : 一些灵活的 “查询结果集映射到java对象” 的例子。
  • mybatis会启用一级缓存;即,如果你使用同一个session对象调用了相同的SELECT语句,则直接会从缓存中返回结果,而不是再查询一次数据库。 session调用commit或close方法后,这个session中的一级缓存就会被清空  
  • 二级缓存: 在不同的session对象之间可以共享缓存的数据

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Clark Kent 2000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值