【MyBatis入门到入土精讲】MyBatis介绍
在web应用中,与数据库的交互是永恒的课题。回顾过去,在ORM框架出现之前,我们采用原始的JDBC编程与数据库打交道:从数据库获取数据,再将数据映射成对象;或者将对象映射为表的字段,将用户想要保存的信息存储到数据库中。
传统的JDBC与数据库的交互
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/**
* @author Evan
*/
public class JDBCTest {
public static void main(String[] args) throws Exception {
Connection connection = null;
PreparedStatement prepareStatement = null;
ResultSet rs = null;
try {
// 加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 获取连接
String url = "jdbc:mysql://127.0.0.1:3306/ssmdemo";
String user = "root";
String password = "123456";
connection = DriverManager.getConnection(url, user, password);
// 获取statement,preparedStatement
String sql = "select * from tb_user where id=?";
prepareStatement = connection.prepareStatement(sql);
// 设置参数
prepareStatement.setLong(1, 1l);
// 执行查询
rs = prepareStatement.executeQuery();
// 处理结果集
while (rs.next()) {
System.out.println(rs.getString("userName"));
System.out.println(rs.getString("name"));
System.out.println(rs.getInt("age"));
System.out.println(rs.getDate("birthday"));
}
} finally {
// 关闭连接,释放资源
if (rs != null) {
rs.close();
}
if (prepareStatement != null) {
prepareStatement.close();
}
if (connection != null) {
connection.close();
}
}
}
}
其实,我们要做的事情很简单,就是从数据库获取数据,再映射到对象,然后展示给用户。既然如此,是否可以将这个过程封装起来,然后给业务开发人员调用呢?答案是肯定的。
ORM框架的出现
聪明的程序员为了偷懒什么事都干得出来,在JDBC编程持续短暂时间之后,ORM框架出现了。ORM全称Object Relational Mapping,即对象与关系映射,它采用元数据来描述对象与关系的映射,元数据一般指的就是xml格式文件。
有了ORM框架,开发人员只要指定了持久化类与数据库表的映射关系,ORM框架运行时就能根据映射文件的信息,将对象持久化到数据库中。
是不是变得简单了很多?
现如今ORM框架代表有:Hibernate、MyBatis 、JFinal等。
什么是mybatis
MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和Java对象为数据库中的记录。
这篇文章主要从Jdbc的知识来了解MyBatis 技术背景,我们也可以从Jdbc入手类比初步了解MyBatis 的底层原理,希望能为大家在学习道路上有所启发。
所有文章首发在公众号【架构师修炼指南】。
赞 (0)