mybatis第二天

mybatis第二天

类型别名

在mybatis核心配置文件中加入这个,用的是包别名,自动扫描包中的类
在resultType中,原本也该写全路径,现在可以直接写类名,且大小写不敏感
<typeAliases>
    <package name="cn.edu.zju.mybaits.pojo"/>
</typeAliases>

mappers映射器


<mappers>
    <!--<mapper resource="mapper/UserMapper.xml"/>-->
    用包映射的时候,xml和mapper接口(就是dao改名)要放在同一个目录且名称相同
    <package name="cn.edu.zju.mybaits.mapper"/>
</mappers>

OrderMapper.xml

namespace要为对应接口的全路径
<mapper namespace="cn.edu.zju.mybaits.mapper.OrderMapper">

pojo类中变量名的命名与数据库中不同时的映射
<resultMap id="order_list_map" type="order">
    <!--id映射主键-->
    <id property="id" column="id"/>
    <!--result映射普通字段-->
    <result property="userId" column="user_id"></result>
    
    <result property="number" column="number"></result>
    <result property="createtime" column="createtime"></result>
    <result property="note" column="note"></result>
</resultMap>
    
采用resultMap后的select
<select id="getOrderListMap" resultMap="order_list_map">

maven中的变更

在<build>子节点加入这个,表示引入src中的xml
<resources>
    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.xml</include>
        </includes>
    </resource>
</resources>

动态代理

接口规范
映射文件中的命名空间(名称空间)与Mapper接口的全路径一致
映射文件中的statement的Id与Mapper接口的方法名保持一致
映射文件中的statement的ResultType必须和mapper接口方法的返回类型一致(即使不采用动态代理,也要一致)
映射文件中的statement的parameterType必须和mapper接口方法的参数类型一致(不一定,该参数可省略)

原文地址:https://www.cnblogs.com/richardwlee/p/10458030.html