往期内容,如下
一、MyBatis简介
二、MyBatis环境搭建
三、MyBatis入门案例
四、MyBatis自定义
五、MyBatis CRUD操作
六、Mybatis中参数和返回值的深入了解
代码目录结构如下:
properteis标签的使用以及细节
用properties定义的内容可以被引用,分别有内部引用
和外部引用
属性:
- resource:常用的,用于指定配置文件的位置,是按照类路径的写法来写,并且必须存在于类路径下
- url:是要求按照Url的写法来写地址。
url展开细说:URL:Uniform Resource Locator 统一资源定位符
。它是可以唯一标识一个资源的位置。写法:http://localhost:8080/mybatisserver/demo1Servlet(协议://主机:端口/URI)
,而RI:Uniform Resource Identifier 统一资源标识符
。它是在应用中可以唯一定位一个资源的。
内部引用,
SqlMapConfig.xml
<properties>
<property name="driver" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"></property>
<property name="username" value="root"></property>
<property name="password" value="1234"></property>
</properties>
<!--配置环境-->
<environments default="mysql">
<!-- 配置mysql的环境-->
<environment id="mysql">
<!-- 配置事务 -->
<transactionManager type="JDBC"></transactionManager>
<!--配置连接池-->
<dataSource type="POOLED">
<property name="driver" value="${driver}"></property>
<property name="url" value="${url}"></property>
<property name="username" value="${username}"></property>
<property name="password" value="${password}"></property>
</dataSource>
</environment>
</environments>
外部引用
需要一个外部的配置文件jdbcConfig.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/eesy_mybatis
jdbc.username=root
jdbc.password=123852
SqlMapConfig.xml
<!-- 类路径下直接写文件名路径 -->
<!-- 这里properties标签还有一个url属性,即是
url="file:///D:/IdeaProjects/day02_eesy_01mybatisCRUD/src/main/resources/jdbcConfig.properties
url如何写上面properties属性介绍已有说明 -->
<properties resource="jdbcConfig.properties"></properties>
<!--配置环境-->
<environments default="mysql">
<!-- 配置mysql的环境-->
<environment id="mysql">
<!-- 配置事务 -->
<transactionManager type="JDBC"></transactionManager>
<!--配置连接池-->
<!-- 引用外部配置文件需要value值需要带上前缀 -->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</dataSource>
</environment>
</environments>
<mappers>
<!-- 这里mapper标签也有一个url属性,和properties的url属性用法相同 -->
<mapper resource="com/itheima/dao/IUserDao.xml"></mapper>
</mappers>
typeAliases标签
作用:用于配置别名
属性:
- type:指定实体类的全限定类名
- alias:指定属性的别名,当指定了别名,就不再区分大小写
SqlMapConfig.xml
<configuration>
<typeAliases>
<typeAlias type="com.itheima.domain.User" alias="user"></typeAlias>
</typeAliases>
</configuration>
后面所有用到这个包的全部写别名,并且不再区分大小写,举个例子
IUserDao.xml
<mapper>
<!-- type="uSeR"等同于user -->
<resultMap id="userMap" type="uSeR">
<id property="userId" column="id"></id>
<result property="userName" column="username"></result>
<result property="userAddress" column="address"></result>
<result property="userSex" column="sex"></result>
<result property="userBirthday" column="birthday"></result>
</resultMap>
</mapper>
package子标签
这个标签是typeAliases的子标签
作用:用于指定要配置别名的包,当指定之后,该包下的实体类都会注册别名,并且类名就是别名,不再区分大小写
属性:
- name:实体类包的全限定包名
<configuration>
<typeAliases>
<package name="com.itheima.domain"></package>
</typeAliases>
</configuration>
再Mybatis
的配置文件中映射文件的mappers
标签也有子标签package
SqlMapConfig.xml
<!-- 配置映射文件的位置 -->
<mappers>
<!--<mapper resource="com/itheima/dao/IUserDao.xml"></mapper>-->
<!-- package标签是用于指定dao接口所在的包,当指定了之后就不需要在写mapper以及resource或者class了 -->
<package name="com.itheima.dao"></package>
</mappers>