什么是MyBatis

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。(摘自MyBatis官网)

MyBatis解决什么问题(JDBC存在哪些问题)

  1. 频繁创建数据库连接,每次请求都要创建一次数据库连接,请求完成后释放连接
  2. sql语句硬编码
  3. PreparedStatement传参硬编码
  4. 结果解析存在硬编码,取列值需要硬编码列名

    MyBatis是如何解决这些问题的

  5. 使用线程池避免频繁创建连接

  6. sql提取到mapper文件中,解决sql硬编码问题
  7. 在mapper文件中可以通过Mybatis的标签决定实际传递哪些参数
  8. 结果通过反射转换成具体对象