mybatis入门(一)什么是mybatis

mybatis入门(一)什么是mybatis

1.JDBC
Java Data Base Connectivity :Java数据库连接

由SUN公司提出的一系列规范 -- 只定义了接口的规范,具体实现是交给各个数据库厂商去实现的,JDBC是一种典型的桥接模式

(1) 如何使用JDBC规范进行编程实现对数据库的CRUD(create、read、update、delete)操作

A:注册数据库驱动和信息(以MySql数据为例)

加载数据库驱动 

Class.forName("com.mysql.jdbc.Driver")
加载数据库连接信息

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/3306/test",username,pwd)
B:操作conn,构建Statement(PrepareStatement)对象

说明:

PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程

prepareStatement会先初始化SQL,先把这个SQL提交到数据库中进行预处理,多次使用可提高效率。

Statement不会初始化,没有预处理,每次都是从0 开始执行SQl


 

PreparedStatement pstmt = (PreparedStatement) conn.prepareStatement("insert into user(name,age) values(?,?)");
 

C:通过Statement执行SQL语句

增删改:

int ret = pstmt.executeUpdate();
 
if(ret > 0){
  //SQL语句执行成功
 }
查询:

ResultSet rs = pstmt.executeQuery();
 while(rs.next){
 //操作rs数据集,将数据映射成Java Pojo对象
 }
D:最后用完后,关闭conn

conn.close();
(2) JDBC弊端

1、需要编写大量demo,demo复用性不够好,需要自己封装Dao层达到代码的复用

2、数据集到pojo对象的映射关系太过拘泥,需要自己进行适配,工作量大

二、ORM
 

对象关系映射:英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping

其取代了JDBC,并对其进行了封装(简化工作量,使得数据到对象的映射关系更为简单)

用于实现面向对象编程语言里不同类型系统的数据之间的转换,简单明了的说就是:

通过编程,操作pojo对象,加上映射关系,即可达到操作数据库的效果,反之,则是将数据库操作的数据映射成pojo对象

三.什么是Mybatis?
 

MyBatis本是Apache的一个开源项目iBatis, 2010年这个项目由Apache Oftware Foundation 迁移到了Google Code,并且改名为MyBatis 。2013年11月迁移到Github。 iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录
 


 

猜你喜欢

转载自blog.csdn.net/weixin_42369687/article/details/89133413