转自 https://blog.csdn.net/xiao_____wu/article/details/81503203
在mybatis-config.xml中有九个属性,但是在这只谈到了六个,剩下的三个详见http://www.mybatis.org/mybatis-3/zh/getting-started.html
<?xml version="1.0" encoding="UTF-8" ?> <environment id="test">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
<!--
5.databaseIdProvider:用来支持多数据库厂商
type="DB_VENDOR":VendorDatabaseIdProvider
作用就是得到数据库厂商的标识 getDatabaseProductName()
name是数据库厂商的标识,value使我们给他取的值
-->
<databaseIdProvider type="DB_VENDOR">
<property name="MySQL" value="mysql"></property>
<property name="Oracle" value="oracle"></property>
</databaseIdProvider>
<!-- 将我们写好的sql映MapperEmployee.xml)一定要注册到全局配置文件(mybatis-config.xml)中 -->
<!--
6.mappers:注册一个sql映射
mapper
有三种注册方式:resource url class
其中resource url是以配置文件的方式来注册 class是以接口的方式
resource:引用类路径下的sql映射文件
<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
url:引用网络路径或者本地磁盘路径下的映射文件
<mapper url="file:///var/mappers/PostMapper.xml"/>
class 有两种方式
1.有sql映射文件时,这个文件xml文件要和接口同名且放在一起(在idea开发环境会遇到问题,就是加载不到MapperEmployee.xml
解决方案是在pom中加入build标签的内容)
2.没有映射文件而使用注解的方式(@Select @Delete @Insert @Update),这个和spring data jpa类似。只不过要多加一步,将他的全限定名配置在class中
注:在这里就有个问题,如果sql语句都用注解的方式,我们会不好管理,所以推荐的用法是不重要的用注解,比较重要的
还是配置到映射文件中来统一管理。
以上这三类都是一个一个注册,还有一种批量注册的方式
package name是包名 但是批量注册要注意一个问题就是,在这个包下使用了注解方式的没有问题,没使用注解方式的我们就是
用到class方式第一种的方式,将sql的映射文件和接口放在一起
-->
<mappers>
<!--使用注解的方式-->
<mapper class="com.wj.mybatis.dao.MapperEmployeeAnnotation"/>
<package name="com.wj.mybatis.dao"></package>
<!--<mapper class="com.wj.mybatis.dao.MapperEmployee"></mapper>-->
</mappers>
作者:xiao_____wu
来源:CSDN
原文:https://blog.csdn.net/xiao_____wu/article/details/81503203
版权声明:本文为博主原创文章,转载请附上博文链接!