1.应用分析与最佳实践
讲师:青山
时长:1h8min
Date:4/10/2020 8:52-9:30
前提知识:
设计模式,spring相关
适合人群:
掌握mybatis基本用法,深入了解mybatis
掌握mybatis核心特性,想用好mybatis
1.1.为什么要用mybatis
Mybatis是用来简化数据库连接及增删查改操作的一个开源框架。
我们java里面操作数据库,底层是使用Jdbc.
1.1.1.jdbc连接数据库
步骤如下:
1.注册驱动,获致连接Connection
2.创建Statement对象
3.execute()执行sql
4.把结果集转换成pojo对象
5.关闭资源
思考:
当项目较大,直接使用原生api会带来什么问题?
》代码大量重复
》结果集处理太复杂,麻烦
》连接管理不方便
》sql语句硬编码
我需要关闭资源,如果忘记关闭,可能造成数据库服务异常。
我们对数据库的业务逻辑,与资源管理是耦合在一起的,对开发非常不利。
为了解决这些问题,出现一框架,如:
Mybatis,hibernate,spring-jdbc,
Apache DbUtils
>QueryRunner
>ResultSetHandler
它主要解决了结果集封装问题。它支持不同数据源:c3p0, jdbc,druid,hikari
Spring-jdbc:
>实现RowMapper接口,mapRow()方法
》转换结果集Object
方法的封装,是通过jdbcTemplate完成。
资源管理 ----注入数据源dataSource
结果集处理---RowMapper---重写mapRow
总结:
以上工具,解决了一些问题:
》方法封装
》支持数据源
》映射结果集
没解决的问题:
1.sql语句硬编码
2.参数只能顺序传入【占位符的方式】
3.没有实现实体类到数据库记录的映射
4.没有提供缓存等功能
2.体系结构与工作原理
3.插件原理及spring集成
4.手写mybatis