MyBatis举例以及连接数据库过程

第一:创建实体类

package entity;

public class Emp {
    private int empno;
    private String ename;
    private String job;
    public int getEmpno() {
        return empno;
    }
    public void setEmpno(int empno) {
        this.empno = empno;
    }
    public String getEname() {
        return ename;
    }
    public void setEname(String ename) {
        this.ename = ename;
    }
    public String getJob() {
        return job;
    }
    public void setJob(String job) {
        this.job = job;
    }
    public Emp() {
        super();
    }
    
}

第二:实现方法(我在此处用的接口)

package dao;

public interface EmpDao {
/**
 * 查看所有的Emps
 */
    public void findAllEmps();
}

第三:配置方法

<?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">
  <mapper namespace="dao.EmpDao">
  <select id="findAllEmps" resultType="entity.Emp">
    select * from emp
  </select>
</mapper>

第四:连接数据库,打开数据库会话

package test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.scripting.xmltags.ForEachSqlNode;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import dao.EmpDao;
import entity.Emp;

public class testEmp implements EmpDao {

    @Test
    public void findAllEmps() {
        try {
        //获取一个指向myBatis的总配置文件输入流
        InputStream is=Resources.getResourceAsStream("myBatis-config.xml");
        //获取一个session工厂,用于创建与数据库之间通讯的session对象(会话对象)(注:数据库是需要会话来管理的)
        SqlSessionFactory  sf=new SqlSessionFactoryBuilder().build(is);
        //打开一个数据库会话
        SqlSession session=sf.openSession();
        List<Emp>list=session.selectList("dao.EmpDao.FindAllEmps");
        for (Emp emp : list) {
            System.out.println(emp.getEmpno()+","+emp.getEname()+","+emp.getJob());
        }
        session.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}
原文地址:https://www.cnblogs.com/minixiong/p/9676809.html