JDBC 编程有哪些不足之处,Mybatis 是如何解决这些问题的?
1、数据库连接的创建、释放频繁造成系统资源浪费从而影响了性能,如果使用数据库连接池就可
以解决这个问题。当然 JDBC 同样能够使用数据源。
2、在 SQLMapConfig. xml 中配置数据连接池,使用数据库连接池管理数据库连接。
3、SQL 语句在写代码中不容易维护,事件需求中 SQL 变化的可能性很大,SQL 变动需要改变
JAVA 代码。解决:将 SQL 语句配置在 mapper. xml 文件中与 java 代码分离。
4、向 SQL 语句传递参数麻烦,因为 SQL 语句的 where 条件不一定,可能多,也可能少,占位符需
要和参数——对应。解决:Mybatis 自动将 java 对象映射到 sql 语句。
5、对结果集解析麻烦,sql 变化导致解析代码变化,且解析前需要遍历,如果能将数据库记录封装
成 pojo 对象解析比较方便。解决:Mbatis 自动将 SQL 执行结果映射到 java 对象。
Mybatis 编程步骤?
1、创建 SQLSessionFactory
2、通过 SQLSessionFactory 创建 SQLSession
3、通过 SQLSession 执行数据库操作
4、调用 session. commit()提交事物 Step5:调用 session. close()关闭会话 MyBatis 与 hibernate 有哪些不
同?
1、Mybatis MyBatis 是支持定制化 SQL、存储过程以及高级映射的一种持久层框架。MyBatis 避免
了几乎所有的 JDBC代码和手动设置参数以及获取结果集。Mybatis它不完全是一个 ORM(对象关系
映射)框架;它需要程序员自己编写部分 SQL 语句。mybatis 可以通过 xml 或者注解的方式灵活的配
置要运行的 SQL 语句,并将 java 对象和 SQL 语句映射生成最终的执行的 SQL,最后将 SQL 执行的
结果在映射生成 java 对象。Mybatis 程序员可以直接的编写原生态的 SQL 语句,可以控制 SQL 执行
性能,灵活度高,适合软件需求变换频繁的企业。缺点:Mybatis 无法做到数据库无关性,如果需
要实现支持多种数据库的软件,则需要自定义多套 SQL 映射文件,工作量大。
使用 Mybatis 的 mapper 接口调用时候有哪些要求?
1、Mapper 接口方法名和 Mapper. xml 中定义的每个 SQL 的 id 相同;