mybatis

1、mybatis、Hibernate有什么异同点

相同点:屏蔽JDBC API 的底层访问细节,使我们不用于JDBC API打交道就可以访问数据库
不同点:Hibernate是全自动的ORM映射工具,可以自动生成SQL语句,Mybatis需要在xml配置文件中写SQL语句;因为Hibernate是自动生成SQL语句的,在写复杂查询时,Hibernate实现比Mybatis复杂的多

mybatis:入门简单,程序容易上手开发,节省开发成本 。mybatis需要程序员自己编写sql语句,是一个不完全 的ORM框架,对sql修改和优化非常容易实现 。

mybatis适合开发需求变更频繁的系统,比如:互联网项目。

hibernate:入门门槛高,如果用hibernate写出高性能的程序不容易实现。hibernate不用写sql语句,是一个 ORM框架。

hibernate适合需求固定,对象数据模型稳定,中小型项目,比如:企业OA系统

2、mysql数据库连接串中的allowPublicKeyRetrieval的意义

3、mybatis中的 #{} 和 ${#{}方式能够很大程度防止sql注入。因为#{}这种方式SQL语句是经过预编译的,它是把#{}中间的参数转义成字符串。

  1. #{}方式能够很大程度防止sql注入。因为#{}这种方式SQL语句是经过预编译的,它是把#{}中间的参数转义成字符串。
  2. $方式无法防止Sql注入。因为这种方式是将值传入后再编译sql语句。
  3. $方式一般用于传入数据库对象,例如传入表名。!!!不过这里我们要记住对传入的参数进行过滤处理。
  4. 一般能用#的就别用$.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值