对MyBatis进行优化——使用别名

来源:互联网 发布:ubuntu映射网络文件夹 编辑:程序博客网 时间:2024/06/05 23:04

别名的使用

在对实体类进行增删改查中,我们有时候会使用完整地包名+类名来表示输入参数与输出参数的类型。这样写相对麻烦一些。如果有数百条类呢?为了减少代码的书写量,我们可以使用以下两种方式来进行简化。

方式一:

在MyBatis的配置文件中使用别名标签(<typeAliases>)来给类定义一个别名。

       type="com.gu.domain.Person":代表类的完整限定名

        alias="Person":定义别名

<?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><typeAliases><typeAlias type="com.gu.domain.Person" alias="Person"/></typeAliases>  <environments default="development">    <environment id="development">      <transactionManager type="JDBC"/>      <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/gu/domain/Person.cfg.xml"/>     </mappers></configuration>

方式二:

通过package属性指定实体类的包名,以后再这个包下的所有类的别名就是类名了。

<?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><typeAliases><package name="com.gu.domain"/></typeAliases>  <environments default="development">    <environment id="development">      <transactionManager type="JDBC"/>      <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/gu/domain/Person.cfg.xml"/>     </mappers></configuration>

在定义完别名后,就可以使用别名“Person”在映射文件中使用了。

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.gu.dao.PersonDao"><select id="selectById" parameterType="int" resultType="Person">select *from t_person where id = #{id} ;  </select></mapper>




原创粉丝点击