Mybatis环境配置与测试

Mybatis是一个框架,因此使用的时候需要关联其jar包(mybatis.jar),还需要查看执行的日志信息(log4j.jar及配置文件)

开发步骤:

1,在java工程中目录下创建lib文件夹(与src目录同级别)

2,导入jar包到lib目录下(mybatis.jar log4j.jar mysql-connector.jar) 并关联 ,将log4j的配置文件导入到src目录下

3,创建实体类(用于存储从数据库获取的数据)

4,在src目录下创建一个xml文件(sqlMapConfig.xml),用于配置数据源,加载的映射文件,别名等(mybatis配置)

5,配置映射文件(配置相关的sql语句,映射POJO)

6,创建测试类测试

6.1 解析xml数据源环境配置文件,获取输入流对象Resources.getResourceAsStream("sqlMapConfig.xml"); 参数传xml数据源路径

6.2创建一个SqlSessionFactory工厂对象,用于生产SqlSession对象,newSqlSessionFactoryBuilder().build(inputStream);参数传获取的流对象

6.3生产一个SqlSession对象,用于执行sql任务 sqlSessionFactory.openSession();

6.4执行sql任务 (增删改查)

6.5关闭sqlSession对象 sqlSession.close();

配置之前需要引入头部信息

数据源头部信息:


映射文件头部信息:


数据源环境配置:





    
    
        
            
            
            
            
                
                
                
                
                
            
        
    


    
    
        
        
    

映射文件配置:





    
    

bean实体类(建议属性名与数据库中表的字段名保持一致):

package cn.yunhe.mybatistest;

import java.util.Date;

public class Emp {
    /**
     * 员工编号
     */
    private int sno;

    /**
     * 员工姓名
     */
    private String sname;

    /**
     * 员工性别
     */
    private int sex;



    /**
     * 联系方式
     */
    private String phone;



    /**
     * 入职日期
     */
    private Date biredate;

    /**
     * 在职状态
     */
    private String flag;

    public int getSno() {
        return sno;
    }

    public void setSno(int sno) {
        this.sno = sno;
    }

    public String getSname() {
        return sname;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }

    public int getSex() {
        return sex;
    }

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

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public Date getBiredate() {
        return biredate;
    }

    public void setBiredate(Date biredate) {
        this.biredate = biredate;
    }

    public String getFlag() {
        return flag;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    @Override
    public String toString() {
        return "Emp{" +
                "sno=" + sno +
                ", sname='" + sname + '\'' +
                ", sex=" + sex +
                ", phone='" + phone + '\'' +
                ", biredate=" + biredate +
                ", flag='" + flag + '\'' +
                '}';
    }
}

测试类:

package cn.yunhe.mybatistest;
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 org.junit.Test;

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

public class MybatisTest {

    /**
     * 查询指定员工信息
     */
    @Test
    public void queryOne() throws IOException {
        //解析xml数据源配置文件 获取输入流对象 Resources导包导import org.apache.ibatis.io.Resources;
        InputStream inputStream =Resources.getResourceAsStream("sqlMapConfig.xml");
        //创建一个SqlSessionFactory工厂对象,用于生产SqlSession对象 参数传获取的流对象
        SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(inputStream);
        //生产一个SqlSession对象,用于执行sql任务
        SqlSession sqlSession =sqlSessionFactory.openSession();
        //执行sql任务 selectOne()查询结果为一条数据或无数据,第一个参数传 映射文件中的namespace.id的值,第二个传查询的条件
        Emp emp=sqlSession.selectOne("test.queryOne",1);
        //输出查询出来的结果
        System.out.println(emp);
        //关闭sqlSession对象
        sqlSession.close();

    }
}

 

你可能感兴趣的:(mybatis,mybatis)