搭建环境、导包编写MyBatis核心配置文件(configuration.xml)编写代码测试 搭建环境
创建一个普通的maven项目,删除src目录(将此项目当成父工程)
版本控制
3.5.7 4.12 org.mybatis mybatis ${mybatis.version} mysql mysql-connector-java ${mysql.version} junit junit ${junit.version} test
3.新建module,导入maven
编写核心配置文件(mybatis-config.xml)org.mybatis mybatis mysql mysql-connector-java junit junit test
编写代码
实体类
Dao接口
public interface PersonDao { // 获取所有人员信息 ListfindAll(); }
-接口实现类
select * from person
-编写测试类
SqlSessionFactory sqlSessionFactory; @Before public void testBefore() throws IOException { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } @Test public void testFindAll() { // 这种写法不用关闭sqlSession try(SqlSession sqlSession = sqlSessionFactory.openSession()) { PersonDao personDao = sqlSession.getMapper(PersonDao.class); List可能出现的异常list = personDao.findAll(); list.forEach(System.out::println); }; }
1. BindingException
异常:
org.apache.ibatis.binding.BindingException: Type interface cn.blb.mybatis01.dao.PersonDao is not known to the MapperRegistry
问题: 核心配置文件中注册mappers
解决方案:在配置文件中注册mapper
2.BuilderException
异常:
org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource cn/blb/mybatis01/dao/PersonMapper.xml
问题:src/main/java中找不到PersonMapper.xml
解决方案:在pom中配置
src/main/java ***.xml false