首页 > 其他 > 详细

Mybatis学习04

时间:2020-01-20 23:11:43      阅读:68      评论:0      收藏:0      [点我收藏+]
title: Mybatis学习04
date: 2020-01-20 21:48:00
tags:Mybatis学习的第四篇笔记

这次的笔记主要是mybatis中的注解

<!--more-->

1、实体类的注解

  • 实体类的注解在mybati的XML文件中配置。

  • 注解的位置应该在setting之后,typeHandlers之前。

  • XML文件中各个配置顺序为:properties,settings,typeAliases,typeHandlers,objectFactory,objectWrapperFactory,reflectorFactory,plugins,environments,databaseIdProvider,mappers

  • 实体类的注解有两种方式

    • 将具体的实体类起一个可以自定义的别名,如:

      <typeAliases>
              <typeAlias type="com.neversettle.domain.User" alias="User"/>
      </typeAliases>

       

    • 将同一包下的所有实体类注解为其名称,如User注解为User及user,官方推荐使用user,实际中User和user都可以,注解方式为:

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

       

2、SQL的注解

  • 使用SQL注解需要在mybatis核心文件中注册,将之前的 *Mapper.xml 注册换位类的注册即可,具体如下:

    <mappers>
        <!--        使用XML来实现接口-->
        <!--        <mapper resource="com/neversettle/dao/UserMapper.xml"/>-->
        <!--        使用注解来实现接口-->
        <mapper class="com.neversettle.dao.UserMapper"/>
    </mappers>

     

  • 注解在接口中使用,如下:

    package com.neversettle.dao;
    ?
    import com.neversettle.domain.User;
    import org.apache.ibatis.annotations.Delete;
    import org.apache.ibatis.annotations.Param;
    import org.apache.ibatis.annotations.Select;
    ?
    import java.util.List;
    ?
    public interface UserMapper {
    ?
        //获取用户列表
        @Select("select * from user")
        List<User> getUserList();
    ?
        //删除一个用户
        @Delete("delete from user where id = #{id}")
        void deleteUserById(@Param("id")int id);
    }

     

    • 增删改查都对应着一个注解的标签,进行相关的操作都需要使用相应的标签。

    • @Param() 是参数的注解,使用在参数的前方,推荐每个参数都是用注解。

3、结果集映射

  • 如果实体类中的字段和数据库中的字段名称不一样,则可以使用结果集映射。

  • 结果集映射写在每个接口相应的实现XML中(如UserMapper.xml)

  • 如果只有个别字段不同,则可以只为个别字段映射(相当于注解)

  • 使用方法:

    <resultMap id="Student" type="com.neversettle.domain.Student">
        <result property="passowrd" column="pwd"/>
    </resultMap>

     

    • id为映射的名称,是在SQL语句的返回值类型中所写的名称

    • type为实体类

    • result中的property是实体类中的字段名

    • result中的column是数据库中要映射的字段名

Mybatis学习04

原文:https://www.cnblogs.com/wuren-best/p/12219623.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!