1、Mybatis的优缺点
(1)优点:
- 1、简单易学,容易上手,基于SQL编程
- 2、与JDBC相比,减少了代码量,消除了大量冗余代码,不需要手动开关闭
- 3、与各种的数据库兼容(使用JDBC来连接数据库)
- 4、提供了很多第三方插件(分页插件/逆向工程:反向生成实体类)
- 5、与Spring很好的集成
- 6、相当灵活SQL写在XML文件里,与代码相分离解耦,便于管理与优化,还可以重用
- 7、提供XML标签,支持编写动态SQL语句
- 8、提供映射标签,支持对象与数据库的ORM字段关系映射
- 9、提供对象映射标签,支持对象关系组建维护
(2)缺点
- 1、SQL语句的编写量巨大
- 2、SQL语句依赖数据库,导致数据库移植性差,不能随意更换数据库
2、Mybatis中#{}
和${}
区别
#{}
是预编译处理,${}
是字符串替换- Mybatis在处理
#{}
时,会将#{}
替换为?,调用PreparedStatement
的set
方法来赋值 - Mybatis在处理
¥{}
时,直接将¥{}
替换成变量的值 - 前者可以有效防止SQL注入