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接口方法的参数类型一致(不一定,该参数可省略)