MyBatis中的几种注解映射

原文链接:http://blog.csdn.net/naruto_mr/article/details/48207437

1.普通映射

@Select("select * from mybatis_Student where id=#{id}")  
public Student getStudent(int id);  
@Insert("insert into mybatis_Student (name, age, remark, pic,grade_id,address_id) values (#{name},#{age},#{remark}, #{pic},#{grade.id},#{address.id})")  
public int insert(Student student);  
@Update("update mybatis_Student set name=#{name},age=#{age} where id=#{id}")  
public int update(Student student);  
@Delete("delete from mybatis_Student where id=#{id}")  
public int delete(int id);  
2.结果集映射

@Select("select * from mybatis_Student")  
@Results({  
    @Result(id=true,property="id",column="id"),  
    @Result(property="name",column="name"),  
    @Result(property="age",column="age")  
})  
public List<Student> getAllStudents();  
3.关系映射

3.1一对一

@Select("select * from mybatis_Student")  
@Results({  
    @Result(id=true,property="id",column="id"),  
    @Result(property="name",column="name"),  
    @Result(property="age",column="age"),  
    @Result(property="address",column="address_id",one=@One(select="com.skymr.mybatis.mappers.AddressMapper.getAddress"))  
})  
public List<Student> getAllStudents();  
3.2一对多

 @Select("select * from mybatis_grade where id=#{id}")  
    @Results({  
        @Result(id=true,column="id",property="id"),  
        @Result(column="grade_name",property="gradeName"),  
        @Result(property="students",column="id",many=@Many(select="com.skymr.mybatis.mappers.Student2Mapper.getStudentsByGradeId"))  
    })  
    public Grade getGrade(int id);  




### 回答1: Mybatis几种映射字段的方式,包括: 1. 使用ResultMap来映射字段,这种方式可以自定义映射关系,是最灵活的一种方式。 2. 使用@Results注解映射字段,这种方式适用于简单的映射关系。 3. 使用默认的字段名称映射,这种方式不需要额外的配置。 性能上,使用默认的字段名称映射的性能最好,因为它不需要额外的配置。但是,如果需要自定义映射关系,使用ResultMap或@Results注解映射字段是更好的选择。 ### 回答2: MyBatis 有三种常见的映射字段的方式,分别是基于注解、基于XML配置文件以及基于混合实现方式。 基于注解的方式是将映射信息直接写在实体类的属性上,通过在属性上添加对应的注解来指定映射关系。这种方式简单直观,可以减少 XML 配置文件的编写量,适合小型项目或者数据库表结构比较简单的情况下使用。 基于XML配置文件的方式则是通过在专门的 XML 文件定义映射信息,包括表名、列名以及属性的类型等,并且可以使用 SQL 语句进行更复杂的映射操作。这种方式相对灵活,适合复杂的数据库表结构以及需要进行动态 SQL 处理的情况。 基于混合实现方式是将注解和 XML 配置文件相结合,通过注解指定一部分映射信息,同时在 XML 配置文件定义其他映射信息。这种方式可以兼具注解方式和 XML 配置文件方式的优点,灵活性较高。 就性能而言,基于注解的方式相对于 XML 配置文件方式来说通常较好。这是因为基于注解的方式将映射关系直接写在实体类的属性上,避免了 XML 解析的过程,可以减少对系统资源的消耗,提升程序的运行效率。而 XML 配置文件方式需要进行 XML 解析,相对来说会增加一定的系统开销,降低性能。 总体而言,选择何种映射字段的方式应根据项目的具体情况来确定。对于简单的数据库表结构和较小的项目,可以选择注解方式提高开发效率;对于复杂的数据库表结构和需要动态 SQL 处理的情况,可以选择 XML 配置文件方式。如果需要兼具灵活性和开发效率,可以选择混合实现方式。 ### 回答3: 在 MyBatis ,常见的映射字段的方式有三种,分别是基于结果集的映射、基于注解映射和基于 XML 的映射。 1. 基于结果集的映射:这种方式是通过数据库的字段名和结果集的列名之间的映射关系来进行字段映射的,默认情况下,MyBatis 会将数据库的下划线命名法转换为驼峰命名法,然后与结果集进行对应。这种方式的优点是简单直观,适用于简单的数据查询。性能上来说,由于不需要解析 XML 或注解,所以相对较高。 2. 基于注解映射:这种方式是通过在实体类的属性上添加注解来进行字段映射的。在注解指定数据库的字段名,然后通过 MyBatis 解析注解来进行映射。这种方式的优点是不需要额外的 XML 文件,可以直接在实体类完成映射配置。性能上来说,由于需要解析注解,相对于基于结果集的映射稍慢一些。 3. 基于 XML 的映射:这种方式是通过在 XML 配置字段映射的方式来进行映射,可以使用 MyBatis 提供的 XML 标签和语法进行配置。这种方式的优点是灵活性强,可以通过 XML 文件进行动态 SQL 查询的编写和配置。性能上来说,由于需要解析 XML 文件,相对较慢,但 MyBatis 在启动时会对所有的 XML 进行解析和缓存,因此对于一次性大量查询的情况来说,性能损耗可以忽略不计。 总体来说,基于结果集的映射方式性能相对最好,因为它不需要额外的解析过程。然而,实际使用应根据具体的需求和场景来选择合适的映射方式,综合考虑灵活性、易用性和性能等因素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值