JavaWeb框架学习文章点这里
1,使用properties节点
1)配置一个常规的存放数据库连接信息properties文件
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=123456
使用properties节点中的resource可以引入该资源,在配置数据源的时候可以用表达式来获取属性值
<properties resource="mysql.properties"/>
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理 -->
<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>
2,配置别名
我们在配置parameterType的时候可以使用int来表示java.lang.Integer这个类,int就是这个类的别名。这个别名是系统自动定义的。我们也可以在配置文件中自己定义别名。
在SqlMapConfig.xml中配置节点如下:
<!-- 定义别名-->
<typeAliases>
<!-- alias的属性值就是type属性值的别名,并且使用的时候别名的首字母用大小写都可以 -->
<typeAlias type="com.hhh.dao.User" alias="user"/>
</typeAliases>
在UserMapper.xml中配置:
<select id="findUserById" parameterType="int" resultType="User">
select * from user where id = #{id}
</select>
这样就可以使用别名了,并且首字母不分大小写
不过我们也可以直接配置包,配置后该包下的所有类mybatis自动分配别名,别名为类名。首字母大小写都行。
示例如下:
<typeAliases>
<package name="com.hhh.dao"/>
</typeAliases>
<select id="findUserById" parameterType="int" resultType="User">
select * from user where id = #{id}
</select>
3,mapper的加载
mapper的加载可以引入mapper.xml配置文件如下:
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
也可以使用全限定类名,但是需要将mapper.xml放到对应的mapper.java接口的包路径里,配置如下:
<mappers>
<mapper class="com.hhh.mapper.UserMapper"/>
</mappers>
也可以直接配置包:
<mappers>
<package name="com.hhh.mapper"/>
</mappers>
但是包下面的类以及配置文件都需要满足上图的规范。