项目结构
Employee.xml
EmployeeDao.java
package com.mybatis.dao;import java.util.List;import com.mybatis.entity.Employee;public interface EmployeeDao{ //查询所有 返回是集合 不需要传递参数 public ListselAll(); //查询单一 返回是对象 需要传递参数 public Employee selOne(String id); }
TestImp.java
package com.mybatis.test;import java.io.IOException;import java.io.Reader;import java.util.List;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 com.mybatis.dao.EmployeeDao;import com.mybatis.entity.Employee;public class TestImp { public void wan(){ //创建一个sqlSession Reader reader; try { String resource = "recourse.xml"; reader = Resources.getResourceAsReader(resource); //创建SqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); //通过数据库会话工厂开启跟数据库的一次会话 //true表示自动提交,否则需要使用commit方法才会提交,默认false方法 SqlSession sqlSession = sqlSessionFactory.openSession(true); //创建接口对象,是sqlsession对象通过动态代理自动创建 //反射对象 EmployeeDao employeeDao = sqlSession.getMapper(EmployeeDao.class); System.out.println(employeeDao); //使用创建好的接口对象调用好的接口方法 Employee emp = employeeDao.selOne("2"); System.out.println(emp.getName()); Listlist =employeeDao.selAll(); System.out.println(list.size()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { TestImp testImp = new TestImp(); testImp.wan(); }}
resourse.xml
其余文件见:
运行结果: