1、MyBatis简介

1.1、为什么要学习mybatis

回顾传统JDBC的基本操作流程

import java.sql.preparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.junit.Test;
public class TestJdbc {
	@Test
	public void test() throws ClassNotFoundException, SQLException {
		//加载驱动
		Class.forName("org.gjt.mm.mysql.Driver");
		//获取连接
		String url = "jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=utf8";
		String username = "root";
		String pwd = "root";
		Connection conn = DriverManager.getConnection(url, username, pwd);
		//执行sql
		String sql = "select * from user where userid = ?";
		PreparedStatement pstmt = conn.prepareStatement(sql);
		ResultSet rs = pstmt.executeQuery();
		//结果迭代
		while(rs.next()) {
			System.out.println(rs.getInt("userid"));
			System.out.println(rs.getString("username"));
		}
		//释放资源
		rs.close();
		pstmt.close();
		conn.close();
	}
}

以上代码的缺点:

1.获取连接太麻烦,每次都要打开,在关闭,耗费资源太大。后来通过连接池解决。

2.sql语句写在java代码中,并且?部分需要手动设置。

3.查询出来的结果rs到java对象之间的转换需要手动完成。

Mybatis的优势:

  • 简单易学、灵活。
  • sql和代码的分离,提高了可维护性。
  • 提供映射标签,支持对象与数据库的orm字段关系映射。
  • 提供对象关系映射标签,支持对象关系组建维护。
  • 提供xml标签,支持编写动态sql。

1.2、mybatis是什么

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进。 目前mybatis在github上托管。

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

1.3、mybatis运行概述

mark

posted @ 2021-04-14 14:51  Mirindasky  阅读(58)  评论(0编辑  收藏  举报