一,什么是MyBatis?
1,MyBatis是一个ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动,创建连接,创建statement等复杂的过程。程序员不需要编写原生态sql,可以严格控制sql执行性能,灵活度高
2,MyBatis可以使用xml或者注解来配置映射原生信息,将POJO映射成数据库中的记录,避免了几乎所有的JDBC代码和手动设置的参数以及获取结果集
二,MyBatis的优点
1,基于SQL语句编程,相对灵活,接触sql与程序代码的藕合,便于统一管理,支持写动态sql语句并可重复使用
2,减少代码量,消除了冗余代码,
3,数据库兼容能够与Spring集成
4,提供映射标签支持字段关系映射
三, MyBatis框架的缺点
1,工作量较大,字段多,关联表多
2,数据库移植性差
四、MyBatis 框架适用场合
1,DAO层解决方案
2,对性能的要求高,或者需求量变化较多的项目
五,MyBatis 与 Hibernate 有哪些不同?
1,MyBatis它不完全是一个ORM框架,因为MyBatis需要程序员自己编写sql语句
2,MyBatis直接编写sql语句,sql执行性能,灵活度高,适合对关系数据模式要求不高的软件开发,MyBatis无法做到数据库无关性
3,Hibernate 数据库无关性好,对于关系模式要求高的软件
六、#{}和${}的区别是什么?
1,#{}预编译处理,${}是字符串替换
2,#{}防止SQL注入,提高系统安全性
七、当实体类中的属性名和表中的字段名不一样 ,怎么办 ?
第一种:通过查询的Sql语句中定义字段名的别名,让字段明的别名和实体类的属性名一致
<select id=”selectorder” parametertype=”int” resultetype=”
me.gacl.domain.order”>
select order_id id, order_no orderno ,order_price price form
orders where order_id=#{id};
</select>
第二种通过来映射字段名和实体类属性名的一一对应的关系。
最低0.47元/天 解锁文章
610

被折叠的 条评论
为什么被折叠?



