6、标签
properties
可以在标签内部配置链接数据库的信息,也可以通过属性引用外部配置文件信息 。
内部配置
<properties >
<property name="driver" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</properties>
外部配置
首先在resource创建一个jdbcConfig.properties文件
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis
username=root
password=root
然后在主配置文件中添加如下代码
<properties resource="jdbcConfig.properties">
</properties>
然后将datasource中的properties标签中的value值改为
<dataSource type="POOLED">
<!-- 配置连接数据库的4个基本信息 -->
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
{}中的值为jdbcConfig.properties中的名称一致 例如driver=com.mysql.jdbc.Driver value的值就必须为driver
typeAliases标签
标签可以为Mybatis映射的结果集类及参数类取别名,当在*Mapper.xml文件引用到相关的类文件时可以使用别名代替全限类名
<typeAliases>
<!-- 用于配置别名,type属性指定的是实体类全限定性类名,alias属性指定别名,别名指定后就不区分大小写。-->
<typeAlias type="com.itheima.domain.User" alias="user"></typeAlias>
<!-- 用于指定要配置别名的包,当指定后,该包下的实体类都会注册别名,并且类名就是别名,不在区分大小写-->
<package name="com.itheima.domain"></package>
</typeAliases>
当数据库列名和User中的属性名不匹配时可使用resultMap标签
<resultMap id="com.itheima.domain.User" type="userMap">
配置主键
<id property="id" column="id"></id>
配置非主键
<result property="" column=""></result>
</resultMap>
property的值为Java中属性名,column中为数据库中属性名。
7、连接池
连接池可以减少获取连接所需要的实际时间
mybaits中的连接池
mybatis提供了三种方式的配置
配置的位置
主配置文件SqlConfig.xml中的datasource标签,type属性就是表示采用何种连接池方式
type属性的取值
POOLED 采用传统的javax.sql.Datasource规范中的连接池,mybatis中有针对该规范的实现
UNPOLLED 采用传统的获取连接的方式,虽然实现了javax.sql.Datasource接口,但并没有使用池的思想
JNDI 采用服务器提供的JNDI技术实现,来获取Datasource对象,不同服务器所能拿到Datasuorce是不一样的。如果不是web或者mavaen的war工程是不能使用的,我们使用的是tomcat服务器,采用的连接池就是dbcp