在MyBatis入门1创建了一个Dao接口类和一个mybatis的xml格式mapper文件,以及mybatis的主配置文件。
在运行测试类的时候,发现没有Dao接口类也能查询数据库,这是因为没有使用以下maybatis的方法去获取mapper。
sqlSession.getMapper();
总之,这个Dao接口没有起到作用,可以删除。
下面代码模拟mybatis使用实现类调用dao接口的方法去查询数据库
com/oxygen/dao/impl/StudentDaoImpl.java
package com.oxygen.dao.impl; import com.oxygen.dao.StudentDao; import com.oxygen.entity.Student; import com.oxygen.utils.MybatisUtil; import org.apache.ibatis.session.SqlSession; import java.util.List; public class StudentDaoImpl implements StudentDao { @Override public List<Student> selectStudentsAll() { SqlSession sqlSession= MybatisUtil.getSqlSession(); String sqlId="com.oxygen.dao.StudentDao.selectStudentsAll"; List<Student> result=sqlSession.selectList(sqlId); result.forEach(System.out::println); sqlSession.close(); return result; } @Override public int insertStudent(Student student) { return 0; } }
测试类
src/test/java/TestStudentImpl.java
import com.oxygen.dao.StudentDao; import com.oxygen.dao.impl.StudentDaoImpl; import com.oxygen.entity.Student; import org.junit.Test; import java.util.List; public class TestStudentImpl { @Test public void testStudent(){ StudentDao dao=new StudentDaoImpl(); List<Student> students=dao.selectStudentsAll(); for(Student stu:students){ System.out.println("stu->"+stu); } } }