一、Mybatis是什么
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,mybatis是支持普通sql查询,存储过程和高级映射的优秀的、轻量级的持久层框架。
二、Mybatis的作用1. mybatis支持普通sql查询,存储过程和高级映射。
2. mybatis消除了几乎所有的jdbc代码和参数的手工设置以及结果集的检索。
3. mybatis使用简单的xml或注解用于配置和原始映射,将简单javabean映射成数据库中的对象。
三、为什么要学习Mybatis1. 我们先来看使用jdbc操作数据库的过程
1 package com.study.spring.mybatistest; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.PreparedStatement; 6 import java.sql.ResultSet; 7 import java.sql.SQLException; 8 9 /** 10 * jdbc操作数据库 11 * @author THINKPAD 12 * 13 */ 14 public class JdbcTest { 15 public static void main(String[] args) { 16 17 // 数据库连接 18 Connection connection = null; 19 // 预编译的Statement,使用预编译的Statement提高数据库性能 20 PreparedStatement preparedStatement = null; 21 // 结果 集 22 ResultSet resultSet = null; 23 24 try { 25 // 加载数据库驱动 26 Class.forName("com.mysql.jdbc.Driver"); 27 28 // 通过驱动管理类获取数据库链接 29 connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/study?characterEncoding=utf-8", 30 "root", "root"); 31 // 定义sql语句 ?表示占位符 32 String sql = "select * from t_order where order_no = ?"; 33 // 获取预处理statement 34 preparedStatement = connection.prepareStatement(sql); 35 // 设置参数,第一个参数为sql语句中参数的序号(从1开始),第二个参数为设置的参数值 36 preparedStatement.setString(1, "123"); 37 // 向数据库发出sql执行查询,查询出结果集 38 resultSet = preparedStatement.executeQuery(); 39 // 遍历查询结果集 40 while (resultSet.next()) { 41 System.out.println(resultSet.getString("id") + " " + resultSet.getString("orderinfo")); 42 } 43 } catch (Exception e) { 44 e.printStackTrace(); 45 } finally { 46 // 释放资源 47 if (resultSet != null) { 48 try { 49 resultSet.close(); 50 } catch (SQLException e) { 51 e.printStackTrace(); 52 } 53 } 54 if (preparedStatement != null) { 55 try { 56 preparedStatement.close(); 57 } catch (SQLException e) { 58 e.printStackTrace(); 59 } 60 } 61 if (connection != null) { 62 try { 63 connection.close(); 64 } catch (SQLException e) { 65 e.printStackTrace(); 66 } 67 } 68 69 } 70 71 } 72 }