MyBatis中如果每次配置类名都要写全称也太不友好了,我们可以通过在主配置文件中配置别名,就不再需要指定完整的包名了。
别名的基本用法:
- <configuration>
- <typeAliases>
- <typeAlias type="com.domain.Student" alias="Student"/>
- </typeAliases>
- ......
- </configuration>
- <typeAliases>
- <package name="com.domain"/>
- </typeAliases>
这样,在Mapper中我们就不用每次配置都写类的全名了,但是有一个例外,那就是namespace。
namespace属性
在MyBatis中,Mapper中的namespace用于绑定Dao接口的,即面向接口编程。
它的好处在于当使用了namespace之后就可以不用写接口实现类,业务逻辑会直接通过这个绑定寻找到相对应的SQL语句进行对应的数据处理
- student = (Student) session.selectOne("com.domain.Student.selectById", new Integer(10));
- <mapper namespace="com.domain.Student">
- <select id="selectById" parameterType="int" resultType="student">
- select * from student where id=#{id}
- </select>
- </mapper>