1.JDBC是java提供的操作数据库的api;
传统JDBC操作数据
需要连接数据库,注册驱动和数据库信息
操作Connection,打开 Statement 对象 。
通过Statement执行SQL, 返回结果到ResultSet对象。
使用ResultSet读取数据,然后通过代码转化为具体的POJO对象。
关闭数据库的相关资源。
jdbc存在弊端:
工作量相对较大,每次都要去创建,关闭,获取
JDBC编程可能产生的异常进行捕捉处理并正确关闭资源
2.MyBatis是一个支持普通SQL查询,存储过程和高级映射的持久层的框架。
MyBatis是对JDBC的封装,它可以基于xml或者注解的方式进行配置和原始映射,消除了几乎所有的jdbc代码和参数的手动设置和对结果集的封装。
MyBatis可以使用简单的XML配置,将接口和Java的POJO(普通的Java对象)映射成数据库中的记录。
相对于JDBC,MyBatis具有以下优点:
1.MyBatis通过dataSource实现数据库连接池的配置,实现了隔离解耦,统一从dataSource中获取数据库连接,具体实现通过让用户配置应对变化。
2.MyBatis将所有的SQL统一放在配置文件(XXXMapper.xml)中统一管理,不需要再次编译,而传统的jdbc的SQL语句分布在代码中,修改之后需要再次编译。可读性差,不便于维护。
3.MyBatis还可以通过标签动态的生成SQL语句。
4.MyBatis可以直接将结果映射为自己需要的类型,如:Javabean,map,list等。而在使用jdbc时,我们要从返回的结果集ResultSet中获取结果封装为我们需要的类型中。
网友评论