Mybatis简单介绍
MyBatis是一个半ORM的持久层框架,用于代替JDBC和数据库进行交互
ORM(Object Relational Mapping)对象关系映射
ORM是指将表和java对象进行映射,达到像操作java对象一样的操作数据库的目的
全orm和半orm区别(个人理解,也许不对)
半orm:对象和表中字段对应,仍然需要编写sql
全orm:对象和表对应,不需要编写sql
它是用来代替JDBC的框架,那么我们首先需要了解JDBC有什么不足,这些不足就是Mybatis存在的意义
传统JDBC
我们先看一下传统JDBC的连接,从中找出不足
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try{
//驱动加载硬编码
Class.forName("com.mysql.jdbc.Driver");
//连接信息硬编码
String url = "jdbc:mysql://127.0.0.13306/mysql";
String user = "root";
String password = "123456";
conn = DriverManager.getConnection(url,user,password);
//sql和java代码耦合
String sql = "select * from student where id=?";
PreparedStatement ps = conn.prepareStatement(sql);
//入参需要设置类型、下标
ps.setInt(1,1);
ResultSet rs = ps.executeQuery();
//结果集处理也很麻烦
while(rs.next()){
System.out.println(rs.getString("name"));
}finally{
//每次都要打开或关闭连接,浪费资源
if(rs != null)
rs.close();
if(ps != null)
ps.close();
if(conn != null)
conn.close();
}
那么Mybatis最基本的功能就是
- 解决硬编码的问题
- 自动的完成连接
- 降低sql和java代码的耦合
- 更便捷的处理参数、结果集
Mybatis的整体结构
为了更方便的去学习知识点,我们首先试着理解一下Mybatis的整体结构
所以在接下来的文章里,会从一下几个方面对mybatis框架进行理解
- Mybatis的配置文件
- Dao层实现
- 输入、输出映射
- 创建测试类