MyBatis框架搭建

MyBatis概述

一、MyBatis框架概述

​ MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。

​ MyBatis是一个优秀的持久层框架。它对jdbc几乎所有的数据库操作进行了封装(包括加载驱动、创建connection、创建statement、手动设置参数、结果集检索等繁琐操作),使开发者只需要关注SQL本身
在这里插入图片描述

二、MyBatis框架搭建

1、MyBatis初识搭建开始-资源目录结构

MyBatis的jar包下载地址
在这里插入图片描述
MyBatis文件说明
在这里插入图片描述

2、MyBatis的环境搭建

(1)创建项目,搭建包结构,先创建一个实体类
在这里插入图片描述

package com.university.domain;

public class Users {
    private Integer userId;
    private String username;
    private String password;
    private String sex;
    private String email;

    public Users() {
    }

    public Users(Integer userId, String username, String password, String sex, String email) {
        this.userId = userId;
        this.username = username;
        this.password = password;
        this.sex = sex;
        this.email = email;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getUsername() {
        return username;
    }

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

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getSex() {
        return sex;
    }

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

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Override
    public String toString() {
        return "Users{" +
                "userId=" + userId +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", sex='" + sex + '\'' +
                ", email='" + email + '\'' +
                '}';
    }
}

(2)导入【mybatis】相关jar包和【SqlServer】驱动包、导入【log4j】相关jar包
在这里插入图片描述
注意:导入jar包后需要在idea中构建一下才可以使用
在这里插入图片描述
(3)在【src根】下创建【mybatis】主配置文件【mybatis-config.xml】,搭建配置文件结构(模板在使用手册第三页
在这里插入图片描述
(4)创建【mapper包】结构,创建 sql 映射文件【XxxMapper.xml】

注意:前缀对应着表的名字,即有几张表,就有几个xml文件(模板在使用手册第四页
在这里插入图片描述
namespace:命名空间

  • 不同的【mapper映射文件】使用【namespace】来做区分
  • 不同的【mapper映射文件】所使用的【namespace】的命名不允许出现重复
  • 使用【命名空间.sqlId】的形式来找到我们想要执行的sql语句,如:test1. getById1

(5)在【src根】下引入【log4j】属性文件
在这里插入图片描述
log4j.properties:

log4j.rootLogger=debug, stdout, R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log

log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=5

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
3、搭建测试程序

如:测试根据ID查单条

(1)在【mybatis-config.xml】配置【UsersMapper.xml】的路径

在这里插入图片描述

(2)在【UsersMapper.xml】下写对应的【sql语句】

在这里插入图片描述

(3)写测试程序(模板在使用手册第二页
package com.university.test;

import com.university.domain.Users;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;

public class Test01 {
    public static void main(String[] args) {
        String resource = "mybatis-config.xml";
        //输入流
        InputStream inputStream = null;
        try {
            //通过加载MyBatis的主配置文件mybatis-config.xml,创建输入流对象
            inputStream = Resources.getResourceAsStream(resource);
        } catch (IOException e) {
            e.printStackTrace();
        }
        /*
            SqlSessionFactoryBuilder:SqlSessionFactory的建造者,通过该建造者对象
                调用建造方法,为我们创建一个SqlSessionFactory对象。
            sqlSessionFactory对象唯一的作用就是为我们创建SqlSession对象
         */
        SqlSessionFactory sqlSessionFactory =  new SqlSessionFactoryBuilder().build(inputStream);
        //以后所有的操作,使用的都是SqlSession对象,例如增删改查,处理事务等
        SqlSession session = sqlSessionFactory.openSession();
        /*
        需求:根据id查单条
            如果取得的是单条记录,我们调用selectOne方法
            参数1:根据命名空间. sqlId的形式找到我们需要使用的sql语句
            参数2:我们要为sql语句中传递的参数
         */
        Users u = session.selectOne("test1.getById",6);
        System.out.println(u);
        session.close();
    }
}
(4)查看输出结果,即可显示日志文件的信息

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值