zoukankan      html  css  js  c++  java
  • MyBatis(3.2.3)

    In the SQL Mapper configuration file, we need to give the fully qualified name of the JavaBeans for the resultType and parameterType attributes.

    An example is as follows:

    <select id="findStudentById" parameterType="int" resultType="com.mybatis3.domain.Student">
        SELECT STUD_ID AS ID, NAME, EMAIL, DOB FROM STUDENTS WHERE STUD_ID=#{Id}
    </select>
    <update id="updateStudent" parameterType="com.mybatis3.domain.Student">
        UPDATE STUDENTS SET NAME=#{name}, EMAIL=#{email}, DOB=#{dob} WHERE STUD_ID=#{id}
    </update>

    Here we are giving the fully qualified name of the Student type com.mybatis3.domain.Student for the resultType and parameterType attributes.

    Instead of typing the fully qualified names everywhere, we can give the alias names and use these alias names in all the other places where we need to give the fully qualified names.

    An example is as follows:

    <typeAliases>
        <typeAlias alias="Student" type="com.mybatis3.domain.Student"/>
        <typeAlias alias="Tutor" type="com.mybatis3.domain.Tutor"/>
        <package name="com.mybatis3.domain"/>
    </typeAliases>

    Now in the SQL Mapper file, we can use the alias name Student as follows:

    <select id="findStudentById" parameterType="int" resultType="Student">
        SELECT STUD_ID AS ID, NAME, EMAIL, DOB FROM STUDENTS WHERE STUD_ID=#{id}
    </select>
    <update id="updateStudent" parameterType="Student">
        UPDATE STUDENTS SET NAME=#{name}, EMAIL=#{email}, DOB=#{dob} WHERE STUD_ID=#{id}
    </update>

    Instead of giving an alias name for each JavaBeans separately, you can give the package name where MyBatis can scan and register aliases using uncapitalized, nonqualified class names of the Bean.

    An example is as follows:

    <typeAliases>
        <package name="com.mybatis3.domain"/>
    </typeAliases>

    If there are Student.java and Tutor.java Beans in the com.mybatis3.domain package, com.mybatis3.domain.Student will be registered as student and com.mybatis3.domain.Tutor will be registered as tutor.

    An example is as follows:

    <typeAliases>
        <typeAlias alias="Student" type="com.mybatis3.domain.Student"/>
        <typeAlias alias="Tutor" type="com.mybatis3.domain.Tutor"/>
        <package name="com.mybatis3.domain"/>
        <package name="com.mybatis3.webservices.domain"/>
    </typeAliases>

    There is another way of aliasing JavaBeans, using the @Alias annotation.

    @Alias("StudentAlias")
    public class Student {
        // ...  
    }

    The @Alias annotation overrides the <typeAliases> configuration.

  • 相关阅读:
    用Ext.override重写控件属性
    如何设置DateField的默认值
    ExtJs中获得当前选中行号(Grid中多选或者是单选)及Grid的反选(取消选中行)
    Ext.form各类控件的配置及方法
    犀利的系统验收工作
    UML系列 (五) 为什么要用UML建模之建模的重要性
    牛腩新闻发布系统(2)使用存储过程查询表
    如何编写优质的需求文档
    SCM软件配置管理 (一)SVN 与 CVS
    牛腩新闻发布系统 (3) 存过过程或函数""需要""参数,但未提供该参数
  • 原文地址:https://www.cnblogs.com/huey/p/5227538.html
Copyright © 2011-2022 走看看