1.优点
与传统JDBC相比减少代码量
SQL写在XML里,解除sql与程序代码的耦合,便于统一管理
能够与Spring很好的集成
提供映射标签,可以让java对象和数据库字段相互映射
2.MyBatis与Hibernate有哪些不同?
一.Mybatis直接编写原生态sql,可以严格控制sql执行性能,灵活度高,但是mybatis无法做到数据库无关性,如果需要支持多种数据库,mybatis不适用
二.Hibernate对象/关系映射能力强,数据库无关性好,对于关系模型要求高的软件,如果用hibernate开发可以节省很多代码,提高效率。
3.#{}和${}的区别是什么?
#{}是预编译处理,${}是字符串替换。
Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;
Mybatis在处理 时 , 就 是 把 {}时,就是把 时,就是把{}替换成变量的值。
使用#{}可以有效的防止SQL注入,提高系统安全性
4.MyBtis常见注解
@Insert : 插入sql , 和xml insert sql语法完全一样
@Select : 查询sql, 和xml select sql语法完全一样
@Update : 更新sql, 和xml update sql语法完全一样
@Delete : 删除sql, 和xml delete sql语法完全一样
@Param : 入参
@Results : 结果集合
@Result : 结果