什么是MyBatis
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。(摘自MyBatis官网)
MyBatis解决什么问题(JDBC存在哪些问题)
- 频繁创建数据库连接,每次请求都要创建一次数据库连接,请求完成后释放连接
- sql语句硬编码
- PreparedStatement传参硬编码
结果解析存在硬编码,取列值需要硬编码列名
MyBatis是如何解决这些问题的
使用线程池避免频繁创建连接
- sql提取到mapper文件中,解决sql硬编码问题
- 在mapper文件中可以通过Mybatis的标签决定实际传递哪些参数
- 结果通过反射转换成具体对象