Mybatis配置文件的标签
properties标签
properties标签就是从外部引入其他配置文件
resource属性是从本地引入
url属性是从网络下载引入
<properties resource="jdbcconfig.properties"></properties>
settings标签
settings标签包含很多重要的设置
setting 标签
name就是设置项的名称
value就是设置项的值
<settings>
<!-- 开启驼峰命名规则 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
setting还有很多设置项,具体的可以去Mybatis中文手册查看
typeAliases标签
typeAliases起别名的标签,为全限定类名起别名,书写简便,注意别名不区分大小写
其子标签typeAlias还有俩个属性,type属性指定要起别名的全限定名,默认别名为类名小写
alias属性自己手动起别名,可以不写
还有一个子标签package是批量起别名为指定包下的所有类起别名,默认都是类小写
但是当此包下包含的有自包且含有一样名称的类,Mybatis运行就会报错
此种情况可以在类上加@Alias("")注解来手动起别名
<typeAliases>
<typeAlias type="com.xzp.entity.Employee"/>
<package name="com.xzp.entity"/>
</typeAliases>
environments标签
有属性default,和子标签environment
default属性指定使用哪种环境,值为environment标签的id值
environment标签
有属性id,id值任意但要唯一,还有子标签transactionManager和dataSource
transactionManager的type属性事务管理器的类别,使用JDBC即可
dataSource的type属性POOLED值,是指使用连接池技术,使用POOLED即可
<environments default="development">
<environment id="development">
<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>
databaseIdProvider标签
databaseIdProvider标签是支持多数据库厂商
其子标签property是为各个数据库厂商起别名,别名可以在其mapper映射文件中使用,从而觉定当前sql语言是哪种数据库语言
<databaseIdProvider type="DB_VENDOR">
<property name="MySQL" value="mysql"/>
<property name="Oracle" value="oracle"/>
<property name="SQL Server" value="sqlserver"/>
</databaseIdProvider>
mappers标签
其子标签mapper就是加载映射文件的
resource属性,是加载类路径下的映射文件
class属性,是加载指定的接口,一般为实体类对应接口
package标签,加载指定包下的所有类,类必须和其对应的映射文件放在一起,否则会加载失败
url属性我觉得应该基本不会用,所以略过
<mappers>
<mapper resource="EmployeeMapper.xml" />
<mapper class="org.mybatis.builder.PostMapper"/>
<package name="org.mybatis.builder"/>
</mappers>
Mybatis映射文件的标签(基本标签)
mapper标签
mapper标签的属性为namespace
namespace:名称空间 为映射文件对应接口的全限定名
它有子标签select
select的属性
id:唯一标识符,为对应的查询方法名
resultType:返回值类型,要写该返回值的全限定名
#{id}:从传递过来的参数中取出id值
databaseId:指定使用的数据库语言
<mapper namespace="com.xzp.mapper.EmployeeMapper">
<select id="queryOneById" resultType="employee" databaseId="mysql"> select * from employee where
id= #{id}
</select>