-
【问题】Mybatis入门程序提示找不到XxxDao.xml配置文件
【解决方案】resources/XxxMapper.xml配置文件所在的包必须与java/XxxMapper.java所在的包结构相同
注意:在resources中创建文件夹的时候只能用dictionary,此时需要一级一级创建,否则创建出来的是一级文件夹
packging创建时: com.hqing.dao是三级结构
dictionary创建时: com.hqing.dao是一级结构
-
Mybatis环境搭建:
① 创建工程,添加依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
② 创建实体类和dao接口
③ 创建Mybatis主配置文件 SqlMapConfig.xml
添加约束条件—
configuration
配置mysql环境— 指定映射配置文件位置(每个dao独立的配置文件)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- Mybatis主配置文件-->
<configuration>
<environments default="mysql">
<environment id="mysql">
<!--配置事务类型-->
<transactionManager type="JDBC"></transactionManager>
<!--配置数据源(连接池)-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/hiqing1_demo"/>
<property name="username" value="。。。。"/>
<property name="password" value="。。。。。。"/>
</dataSource>
</environment>
</environments>
<!-- 指定映射配置文件的位置(每个独立mapper的配置文件)-->
<mappers>
<mapper resource="com/september/dao/IUserDao.xml"></mapper>
</mappers>
</configuration>
④ 创建映射配置文件IUserDao.xml
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.september.dao.IUserDao">
<!--配置查询所有-->
<select id="findAll" resultType="com.september.domain.User">
select * from user
</select>
</mapper>
– mybatis的映射配置文件位置必须和dao接口的包结构相同
– 映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名
– 映射配置文件的操作配置(select),id属性的取值必须是dao接口的方法名
– 在映射配置中告知mybatis要封装到哪个实体类中(resultType指定实体类的全限定类名)