框架原理框架

MyBatis架构与基本配置

2019-02-18  本文已影响104人  花无缺_0159

【目录】
1 MyBatis架构
2 MyBatis基本配置
3 搭建第一个MyBatis项目

1 MyBatis架构

MyBatis架构图

接口层:Mybatis提供操作数据库的一些接口,程序员使用。
数据处理层:Mybatis负责接受参数,解析参数,并且返回映射结果集。
基础支持层:Mybatis的一些运行环境比如数据源,事务,基本配置加载(缓存)。

MyBatis运行流程

加载全局配置文件:加载数据源,用来操作数据库,事务。
获取SqlSesionFactory:用来生成sqlSesion,sqlsessionFactory是线程安全。
SqlSessionFactory生产出sqlSession,sqlSesion里面提供一系列操作数据库的接口。
程序员通过调用sqlSession提供的接口来操作数据。

2 MyBatis基本配置

开发环境:Eclipse+JDK+Mysql+Mybatis的jar文件。
MyBatis目前已经迁移到github上,访问这里可以获取到MyBatis的各种版本。

3 搭建第一个MyBatis项目

  1. 创建名为HelloMyBatis的java项目。
HelloMyBatis

2.准备好需要的jar包,手动导入。

mybatis-3.4.6.jar以及lib里所有的包 数据库驱动包 手动导入
  1. 创建测试数据库与测试用例。
创建User表 插入一些数据

创建come.test.bean包,创造一个简单的bean对象。
User.java:

package com.test.bean;

import java.util.Date;

public class User {

    /**
     * CREATE TABLE `user` (
      `u_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',
      `u_username` VARCHAR(64) NOT NULL COMMENT '用户名',
      `u_password` VARCHAR(64) NOT NULL COMMENT '用户密码',
      `u_sex` VARCHAR(16) DEFAULT NULL COMMENT '用户性别',
      `u_createTime` DATETIME DEFAULT NULL COMMENT '用户创建时间',
      `u_cid` INT(11) NOT NULL COMMENT '用户国家id',
     */
    
    private Integer u_id;
    private String u_username;
    private String u_password;
    private String u_sex;
    private Date u_createTime;
    private Integer u_cid;
    
    public Integer getU_id() {
        return u_id;
    }
    public void setU_id(Integer u_id) {
        this.u_id = u_id;
    }
    public String getU_username() {
        return u_username;
    }
    public void setU_username(String u_username) {
        this.u_username = u_username;
    }
    public String getU_password() {
        return u_password;
    }
    public void setU_password(String u_password) {
        this.u_password = u_password;
    }
    public String getU_sex() {
        return u_sex;
    }
    public void setU_sex(String u_sex) {
        this.u_sex = u_sex;
    }
    public Date getU_createTime() {
        return u_createTime;
    }
    public void setU_createTime(Date u_createTime) {
        this.u_createTime = u_createTime;
    }
    public Integer getU_cid() {
        return u_cid;
    }
    public void setU_cid(Integer u_cid) {
        this.u_cid = u_cid;
    }
    @Override
    public String toString() {
        return "User [u_id=" + u_id + ", u_username=" + u_username + ", u_password=" + u_password + ", u_sex=" + u_sex
                + ", u_createTime=" + u_createTime + ", u_cid=" + u_cid + "]";
    }
}

创建sqlMapConfig.xml主配置文件,导入主配置文件头:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">

创建mapper包,新建Mapper.xml映射文件,导入Mapper文件头:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
项目目录
  1. 导入本地约束。
    约束文件在mybatis-3.4.6\org\apache\ibatis\builder\xml目录下。
    confi的key值:
http://mybatis.org/dtd/mybatis-3-config.dtd

mapper的key值:

http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd

(更加详细教程可以参考这里。)

项目的前期准备已经完成,接下来基本的增、删、改、查操作,可以参看这里

上一篇 下一篇

猜你喜欢

热点阅读