本文主要内容: 传统JDBC 传统JDBC编码格式 上面代码中知识为了展示JDBC整个过程(异常和资源是快速简单粗暴的处理了,我们关注的入门点不在这两个)。 大致可以分为六个步骤: 从使用层面来说,师妹采用原生态的快速JDBC在项目中使用起来成本还是很高的。如果我们的入门项目中的业务相对比较复杂,数据库表也相对较多,篇够各种操作数据库的师妹增删改查的方法也会随之多起来,那么这样的快速代码重复次数会非常之多。 传统JDBC的入门问题 为了解决以上问题,就诞生了各种各样替换JDBC的篇够产品。即就是师妹ORM框架。 什么是亿华云计算快速ORM? 全称为Object Relational Mapping。对象-映射-关系型数据库。入门对象关系映射(,简称ORM,或O/RM,或O/R mapping),用于实现面向对象编程语言里不同类型系统的数据之间的转换。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象与关系数据库相互映射。 ORM提供了实现持久化层的另一种模式,它采用映射元数据来描述对象关系的映射,使得ORM中间件能在任何一个应用的业务逻辑层和数据库层之间充当桥梁。 我们的项目中是这样的: 比如说:Apache DbUtils、Spring JDBC、 Hibernate、Ibatis(Mybatis的前生)、Spring Data Jpa等等。 目前最为流行的Mybatis和Spring Data Jpa。云服务器提供商本系列我们先讲解Mybatis,Jpa后面再讲。 ORM的优缺点 优点1.提高了开发效率。由于ORM可以自动对Entity对象与数据库中的Table进行字段与属性的映射,所以我们实际可能已经不需要一个专用的、庞大的数据访问层。2.ORM提供了对数据库的映射,不用sql直接编码,能够像操作对象一样从数据库获取数据。 缺点牺牲程序的执行效率和会固定思维模式,降低了开发的灵活性。 从系统结构上来看,采用ORM的系统一般都是多层系统,系统的层次多了,效率就会降低。ORM是一种完全的面向对象的做法,而面向对象的做法也会对性能产生一定的影响。在我们开发系统时,源码下载一般都有性能问题。性能问题主要产生在算法不正确和与数据库不正确的使用上。ORM所生成的代码一般不太可能写出很高效的算法,在数据库应用上更有可能会被误用,主要体现在对持久对象的提取和和数据的加工处理上,如果用上了ORM,程序员很有可能将全部的数据提取到内存对象中,然后再进行过滤和加工处理,这样就容易产生性能问题。在对对象做持久化时,ORM一般会持久化所有的属性,有时,这是不希望的。但ORM是一种工具,工具确实能解决一些重复,简单的劳动。这是不可否认的。但我们不能指望工具能一劳永逸的解决所有问题,有些问题还是需要特殊处理的,但需要特殊处理的部分对绝大多数的系统,应该是很少的。 MyBatis 是什么? 如果在面试的时候被问到,只要你说出下面三种即可。 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。 MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。 MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 来自官网。 MyBatis的优点和缺点 优点: (1)基于SQL语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL写在XML里,解除sql与程序代码的耦合,便于统一管理;提供XML标签,支持编写动态SQL语句,并可重用。 (2)与JDBC相比,减少了50%以上的代码量,消除了JDBC大量冗余的代码,不需要手动开关连接; (3)很好的与各种数据库兼容(因为MyBatis使用JDBC来连接数据库,所以只要JDBC支持的数据库MyBatis都支持)。 (4)能够与Spring很好的集成; (5)提供映射标签,支持对象与数据库的ORM字段关系映射;提供对象关系映射标签,支持对象关系组件维护。 缺点 (1)SQL语句的编写工作量较大,尤其当字段多、关联表多时,对开发人员编写SQL语句的功底有一定要求。 (2)SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。 Mybatis环境搭建及简单实例 创建一张数据库表 创建一张m_user表使用MySQL数据库。 添加依赖 项目结构如下: 创建一个mybatis-config.xml