<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <environments default="mysql"> <environment id="mysql"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"/> <property name="username" value="root"/> <property name="password" value="123"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/itheima/dao/IUserDao.xml"/> </mappers> </configuration>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <properties> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"/> <property name="username" value="root"/> <property name="password" value="123"/> </properties> <environments default="mysql"> <environment id="mysql"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/itheima/dao/IUserDao.xml"/> </mappers> </configuration>
可以在标签内配置连接数据库的信息。也可以通过属性引用外部配置文件信息。
resource属性:用于指定配置文件的位置,是按照类路径的写法来写,并且必须存在于类路径下。
下面这段代码是可以放在外部的 <properties> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"/> <property name="username" value="root"/> <property name="password" value="123"/> </properties>把jdbcConfig.properties放到resources目录下
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/eesy_mybatis jdbc.username=root jdbc.password=123
在SqlMapConfig.xml中
<configuration> <properties resource="jdbcConfig.properties"></properties> <environments default="mysql"> <environment id="mysql"> ......resource属性:常用的,用于指定配置文件的位置,是按照类路径的写法来写,并且必须存在于类路径下。
url属性:是要求按照Url的写法来写地址。
URL:Uniform Resource Location:统一资源定位符,它是可以唯一标识一个资源的位置。
它的写法:
http://localhost:3306/mybatisserver/demo1Servlet
协议 主机 端口 URI
URI:Uniform Resource Identifier:统一资源标识符,它是在应用中可以唯一定位一个资源的。
<properties url="file:///D:/IdeaProjects/jdbcConfig01.properties"></properties>
而且SqlMapConfig.xml中的mappers标签可以这样写:
<mappers> <!--<mapper resource="com/itheima/dao/IUserDao.xml"/>--> <mapper url="file:///D:/IdeaProjects/day02_eesy_01mybatisDemo/src/main/resources/com/itheima/dao/IUserDao.xml"/> </mappers>
但是我在自己做的时候,typeAliases放在了properties前面了,导致报错,
这种错如果不是因为看视频比着老师做,出错还是很难找的。
<properties resource="jdbcConfig.properties"></properties> <typeAliases> <typeAlias type="com.itheima.domain.User" alias="user"></typeAlias> </typeAliases>
1、如果出现<properties> 则<typeAliases>必须跟在<properties>后面 2、如果没有<properties>,<typeAliases>必须放在SqlMapConfig.xml文件的最上面1、如果出现<properties>,则<typeAliases>必须放在<properties>后面。
还有一点看的博客 2、如果没有<properties>,则<typeAliases>必须放在SqlMapConfig.xml文件的最上面。
<configuration> <properties resource="jdbcConfig.properties"></properties> <!--使用typeAliases配置别名,它只能配置domain中类的别名--> <typeAliases> <!--typeAlias用于配置别名。type属性指定的是实体类全限定类名。alias属性指定别名,当指定了别名就不再区分大小写。--> <typeAlias type="com.itheima.domain.User" alias="user"></typeAlias> </typeAliases> <environments default="mysql"> <environment id="mysql"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"/>
<configuration> <properties resource="jdbcConfig.properties"></properties> <!--使用typeAliases配置别名,它只能配置domain中类的别名--> <typeAliases> <!--typeAlias用于配置别名。type属性指定的是实体类全限定类名。alias属性指定别名,当指定了别名就不再区分大小写。--> <!--<typeAlias type="com.itheima.domain.User" alias="user"></typeAlias>--> <!--用于指定要配置别名的包,当指定之后,该包下的实体类都会注册别名,并且类名就是别名,不再区分大小写--> <package name="com.itheima.domain"></package> </typeAliases> <environments default="mysql"> <environment id="mysql"> <transactionManager type="JDBC"></transactionManager>
</dataSource> </environment> </environments> <mappers> <!--<mapper resource="com/itheima/dao/IUserDao.xml"/>--> <!--package标签是用于指定dao接口所在的包,当指定了之后就不需要再写mapper以及resource或者class了--> <package name="com.itheima.dao"></package> </mappers> </configuration>