MyBatis配置学习

配置:类型别名(typeAliases)

类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置,意在降低冗余的全限定类名书写,配置方式有两种。

第一种:

<typeAliases>
  <typeAlias alias="User" type="com.study.pojo.User"/>
</typeAliases>

当进行了上面这样的配置之后,在.xml文件中的resultType中就可以使用这个别名

<select id="getUserList" resultType="User">
    select * from mybatis.user
</select>

**第二种:**使用package 属性设置实体类的包名,当使用这样的设置之后,只可以在mapper.xml文件中使用实体类的类名的首字母小写的别名

<typeAliases>
        <package name="com.study.pojo"/>
</typeAliases>
<select id="getUserList" resultType="user">
    select * from mybatis.user
</select>

这种情况下如果想要自己设定别名,需要在实体类上加上注解@Alias(“别名”)

@Alias("UserTest")
public class User {
    private int id;
    private String name;
    private String pwd;
}
<select id="getUserList" resultType="UserTest">
    select * from mybatis.user
</select>

配置:映射器(mappers)

mapper.xml路径的资源引用(加载mapper.xml文件的方式)

**第一种:*使用resource方式加载,这种方式可以加载任意位置的.xml文件,但是需要每个mapper.xml文件都要进行设置一次

<mappers>
    <mapper resource="com/study/dao/UserMapper.xml"/>
</mappers>

**第二种:**通过class类名进行映射mapper.xml文件,但是这种方式需要mapper接口与mapper.xml文件名相同,并且处在相同的包下

<mappers>
    <mapper class="com.study.dao.UserMapper"/>
</mappers>

**第三种:**通过包名映射mapper.xml文件,处在这个包下的mapper.xml都可以被找到,要求与第二种方式一样,名字相同,同一个包下

<mappers>
    <package name="com.study.dao"/>
</mappers>

ResultMap

如果在实体类中,类的属性与数据库字段不一致的情况下,使用实体类作为结果集对象,那么不一致的属性查出来的信息结果将会为null

  public class User {
        private int id;
        private String name;
        private String password;//此字段在数据库中为pwd
  }
//此时查询输出结果password字段为null

这种情况下可以使用resultMap进行编写结果集映射,将类的属性与字段名进行对应起来使用。

<resultMap id="userMap" type="UserTest">

    <result property="password" column="pwd"/>

</resultMap
    
<select id="getUserList" resultMap="userMap">
    select * from mybatis.user
</select>

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值