JavaEE_SSM框架_MyBatis之【人生若只如初见】

 

Mybatis的介绍


Mybatis是一个半自动的【ORM框架】,

Object Relation Mapping:统一自动管理SQL语句【对象关系映射】

Object:Java是一个面向对象的编程语言

Relation:数据库MySQL是一个关系型数据库

Mapping:映射

 

Mybatis的历史


原是【Apache】的一个开源项目【iBatis】

2010年6月这个项目由【Apache Software Foundation】迁移到了【Google Code】、

随着开发团队转投【Google Code】旗下——>【iBatis3.x】正式更名为【MyBatis】

代码于2013年11月迁移到Github

【iBatis】一词来源于"internet"和"abatis"的组合,是一个基于Java的持久层框架。

【iBatis】提供的持久层框架包括SQL Maps和Dao(Data Access Objects)

为什么学习mybatis?


在学习mybatis之前,我们通过【JDBC】访问数据库进行【CURD】一系列操作:

JDBC的四个步骤:

【第一步】、加载驱动

【第二步】、获取连接

【第三步】、创建SQL通道

【第四步】、关闭连接

【注:JDBC:Java DataBase Connectivity

【注:CURD:Create(创建) Update(更新) Read(读取) Delete(删除)】

 JDBC类


package com.am.utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
//import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


/**
 *     JDBC类:连接数据库
 *     1、加载驱动
 *     2、创建连接
 *     3、创建普通SQL通道和预编译通道
 *     4、
 * @author Begimwer
 *
 */

public class DataBase {
    /**路径**/
    String url="jdbc:mysql://localhost:3306/test?serverTimezone=UTC";
    /**账号**/
    String username="root";
    /**密码**/
    String password="123456";
    
    /**【第一步】、加载驱动**/

    /**静态初始化块:直接加载一次驱动,与类同生共死**/
    static {
        try {
            /**加载驱动**/
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            System.out.println("DateBase提示:    加载驱动失败。。。");
        }
    }
    
    /**
     *     定义属性:
     *     【连接】、
     *     【预编译SQL通道】、
     *     【普通SQL通道】
     */
    Connection conn=null;
    PreparedStatement ps=null;
    Statement stat = null;
    
    /**【第二步】、获取数据库连接**/

    public Connection getConn() {
        
        try {
            //通过驱动管理器【DriverManager】获取数据库连接
            conn=DriverManager.getConnection(url, username, password);
        } catch (SQLException e) {
            System.out.println(this.getClass().getSimpleName()+"提示:数据库连接失败!!!");
        }
        return conn;
    }
    
    /**【第三步】、创建SQL通道**/

    /**创建普通SQL通道**/
    public Statement getStat() {
        try {
            stat=getConn().createStatement();
        } catch (SQLException e) {
            System.out.println(this.getClass().getSimpleName()+"提示:创建普通SQL通道失败!!!");
        }
        return stat;
        
    }
    
    /**创建预编译SQL通道**/
    public PreparedStatement getPs(String sql) {
        
        try {
            ps=getConn().prepareStatement(sql);
        } catch (SQLException e) {
            System.out.println(this.getClass().getSimpleName()+"提示:创建预编译SQL通道失败!!!");
        }
        
        return ps;
    }
    

    /**【第四步】、关闭连接**/
    public void close() {
        try {
            /**关闭结果集**/
        /**    
         *     if(rs!=null) {
         *        rs.close();
         *    }
         */
            /**关闭普通SQL通道**/
            if(null!=ps) {
                ps.close();
            }
            /**关闭预编译SQL通道**/
            if(null!=stat) {
                stat.close();
            }
            /**关闭数据库连接**/
            if(null!=conn) {
                conn.close();
            }
        } catch (SQLException e) {
            System.out.println(this.getClass().getSimpleName()+"提示:关闭【普通SQL通道】,【预编译SQL通道】,【数据库连接】失败!!!");
        }
    }
}

 

封装


将【经常修改】的内容放到【配置文件中】——【xml,json,properties,yarn】,

将【不经常修改】的放到Java文件中

 

缓存


当访问量比较大的时候,可以【重复使用】查询的数据,尽量【减少数据库的访问次数】

处处的把数据库里面的记录一一的转换成【java对象】(注:查询单条);java对象处处的转换成数据库的记录

 

MyBatis的下载


Mybatis的下载地址:【点这里

 点此查看MyBatis的官方文档:【点这里


 下载MyBaits

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值