Mybatis+JDBC第一次学习心得
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
Mybatis和JDBC区别:
Mybatis是基于JDBC的,Java与数据库操作仅能通过JDBC完成。 mybatis也要通过JDBC完成数据查询、更新这些动作。
传统JDBC操作数据:
1,使用JDBC编程需要连接数据库,注册驱动和数据库信息
2,操作Connection,打开 Statement 对象 。
3,通过Statement执行SQL, 返回结果到ResultSet对象。
4,使用ResultSet读取数据,然后通过代码转化为具体的POJO对象。
5,关闭数据库的相关资源。
POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。
使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接. 其中有一些属性及其getter setter方法的类,没有业务逻辑,有时可以作为VO(value -object)或dto(Data Transform Object)来使用.当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法。
jdbc存在弊端:
1,工作量相对较大,每次都要去创建,关闭,获取
2,JDBC编程可能产生的异常进行捕捉处理并正确关闭资源
对象关系映射(Object Relational Mapping)简称 ORM
ORM模型就是数据库的表和简单Java对象(Plain Ordinary Java Object,简称POJO)的映射关系模型。
ORM模型提供了统一的规则使得数据库的数据通过配置便可轻易的映射到POJO上
常见的有两种
mybatis
1,易于上手和掌握。
2,sql写在xml里,便于统一管理和优化。
3,解除sql与程序代码的耦合。
4,提供映射标签,支持对象与数据库的orm字段关系映射
5,提供对象关系映射标签,支持对象关系组建维护
6,提供xml标签,支持编写动态sql。
hibernate
1,消除了代码的映射规则,它全部被分离到XML或者注解里面去配置。
2,无需再管理数据库连接,它也配置到XML里面。
3,一个会话中,不要操作多个对象,只要操作Sesison即可。
4,关闭资源只需要关闭一个Session即可。