<properties resource="db.properties"/>
要强调的是
第一:它可以是自闭和的,也可以用<property>
往其中加入自己想加入的值
第二:就是这个resource,它导入了一个我们自己编写的properties文件,如下
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useSSL=true&useUnicode=true&characterEncoding=utf8
username=root
password=root
然后再mybatis的核心配置中关于数据池的编写就变成了如下
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
<typeAliases>
</typeAliases>
这个标签是为了给我们pojo在mybatis中起别名的,不然正常情况下是这样的
<select id="getAllUser" resultType="com.li.pojo.User">
select * from USER ;
</select>
resultType这样写是多么的麻烦,所以我们可以使用这个标签,记得注意标签在配置文件中的顺序,不然是会报错的
<typeAliases>
<package name="com.li.pojo"/>
</typeAliases>
这是第一种起别名的方式,表示扫描这个包下面的所有类,使用的时候默认是用类的首字母小写的方式使用,但如果你想写大写也可以没人拦你。
像这样:
<select id="getUserById" resultType="user" parameterType="int">
select * from USER where id=#{id};
</select>
第二种方式是一个类一个类拿出来整
<typeAliases>
<typeAlias type="com.li.pojo.User" alias="user"/>
</typeAliases>
就像上面代码这样,但是这样是比较适合类比较少的情况下的。
顺带一提可以在pojo中使用注解的方式来进行起别名,比如你用了全包扫名,但忽然你想有一个换一下,注解在向你招手。
就像这样
@Alias("user")
public class User {
private int id;
private String name;
private String pwd;
最后想补充的一个标签是mappers标签
<mappers>
<mapper resource="com/li/dao/UserMapper.xml"/>
</mappers>
这里小小的说明一下规范,这样不容易出错,首先是接口名和其对应的xml文件最好是同名,然后最好都在一个包里,最后关于这个注册的问题是你可以用这种resource的方式,也可以用扫描包和class的注册形式,但一般还是写这个resource比较合适