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在处理#{}时,会将#{}替换为?,调用PreparedStatementset方法来赋值
  • Mybatis在处理¥{}时,直接将¥{}替换成变量的值
  • 前者可以有效防止SQL注入