MyBatis学习——第一章:简介

简介

什么是 MyBatis?
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。(来自官网)
那么mybatis到底是什么呢?说白了就是一个ORM(object relationship map)框架,可以让数据库中的表和Java中的实体类相互转换。
假设有一个user表,其表结构如下:

User表:
create table user
(
    id       int auto_increment primary key,
    username varchar(32)  not null comment '用户名称',
    birthday datetime     null comment '生日',
    sex      char         null comment '性别',
    address  varchar(256) null comment '地址'
)charset = utf8;

mybatis要做的事情就是将上述的表结构转换为如下实体类User:

import java.io.Serializable;
import java.util.Date;

public class User implements Serializable {
    private Integer id;
    private String username;
    private String sex;
    private String address;
    private Date birthday;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", sex='" + sex + '\'' +
                ", address='" + address + '\'' +
                ", birthday=" + birthday +
                '}';
    }
}

上述转换中,数据表中的每行属性名,对应的是实体类中的属性。例如user表中id列名,对应的就是user实体类中的id属性;username对应的是实体类中username属性。同时呢,在实体类中,每个属性必须有自己的set()和get()方法,tostring()方法不做要求。
经过如上转换后,我们只需要操作在实际开发中操作实体类即可,就不需要写过多的JDBC代码,同时也完全发挥了Java的面向对象特性(关系数据库是面向关系的)。
mybatis的底层实现
那么mybatis的底层实现是怎样的呢?其实说白了就是将Java公司提供的JDBC进行再一次封装,从而实现ORM框架。底层实现不必知道,只要知道怎么用就行了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值