一、mappers标签
1.mapper标签
<mappers>
<mapper class=""></mapper>
<mapper url=""></mapper>
<mapper resource=""></mapper>
</mappers>
mapper标签的属性有三个:
resource:这种方式是从类的根路径下开始查找资源,采取这种方式的话,配置文件需要放到类路径当中才可以。
url:这种方式是一种绝对路径的方法,这种方式不要求配置文件必须放到类路径当中,哪里都行,只要提供一个绝对路径就可以。这种方式使用很少,因为移植性太差。
class: 这个位置提供的是Mapper接口的全限定接口名,必须是带有包名的。
思考: mapper标签的作用的指定SqlMapper.xml文件的路径,指定接口名有什么用呢?
在接口的同级目录下,去找对应的Mapper文件。
例如:如果class=“com.powernode.mybatis.mapper.CarMapper” 那么mybatis框架会自动去com/powernode/mybatis/mapper目录下查找CarMapper.xml文件。
注意: 如果使用了class这种方法,那么必须保证CarMapper.xml文件和CarMapper接口在同一个目录下。在resources目录下创建和CarMapper接口一样的路径名。并且XML文件的名字必须和接口一致。
在resources下创建路径时注意为com/powernode/mybatis/mapper 而不是com.powernode.mybatis.mapper
2.package标签
如果有一百个mapper文件 不需要写一百个mapper标签。
<mappers>
<package name="com.powernode.mybatis.mapper"/>
</mappers>
这种方式使用较多。前提是XML文件必须和接口放在一起,并且名字一致。
二、Idea配置模板文件
file—>settings
Editor–>File and Code Templates—>+
粘贴之后点击 Apply—>OK即可
之后创建文件的时候选择自己的模板文件即可
同理SQLMapper文件也是类似:
附mybatis-config.xml文件的模板代码:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource=""></properties>
<typeAliases>
<package name=""/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<package name=""/>
</mappers>
</configuration>
附SqlMapper.xml文件的模板代码:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="">
</mapper>
总结
在idea的resources目录下新建多重目录的话,必须是这样创建:com/powernode/mybatis/mapper
不能这样:com.powernode.mybatis.mapper