mybatis框架

mybatis
1
优点:
mybatis时基于Sql语言编程相对灵活,Sql语句写在xml里,解除了sql与程序代码的耦合性,便于统一管理,mybatis还支持动态sql语句,
并且sql语句还可以重用。

消除了JDBC编程的冗余代码,

支持对象与数据库字段的关系映射,提供对象关系映射标签。

             2

mybatis与hibernate的不同:
mybaties不完全是一个ORM框架,因为mybatis需要程序员自己编写sql语句。

#{}和¥{}的区别是什么

#{}是预编译处理,${}是字符串替换。
mybatis在处理#{}时,会将sql中的#{}替换为?占位符,调用pareparedStatement的set方法来赋值

mybatis在处理${}时,就是把 ${ } 替换成变量的值。

使用#{}可以防止sql注入。

                           3

当实体类中的属性名 和别名不一样怎么班?

1.可以给sql语句查询字段定义字段的别名,让字段名的别名和实体类的属性名一致
2.通过resultMap来定义映射字段名和实体类属性名的一一对应的关系。

                     4。

xml映射文件中都会与与dao接口对应,请问这个Dao接口的工作原理是什么,Dao接口里的方法,参数不同时,方法能重载吗?

Dao接口的全限定名,就是映射文件中的
namespace的值,接口中的方法名就是
映射文件中mapper的statement的id值,接口方法内的参数,就是传递给sql的参数

Mapper接口时没有实现类的,方调用接口方法时,接口全限定名+方法名拼接字符串作为key值,可唯一定位一个MapperStatement。
在mabatis中。每一个《select》,…都会被解析为MapperStatement对象,Mapper接口的工作原理是JDK动态代理,Mybatis运行时会使用Jdk动态代理为Mapper生成一个Proxy代理对象,代理对象会拦截接口的方法,执行MapperStatement代表的sql,然后将sql执行结果返回。

Mybatis是如何将sql执行结果封装为目标对象并返回的?

定义了列名和对象属性名 的映射关系之后,Mybatis会通过反射创建对象,同时使用反射给对象的属性逐一赋值并返回。

Mybatis动态sql有什么用?执行原理?
有哪些动态sql?

执行原理是根据表达式的值,完成逻辑判断并动态拼接sql的功能

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值