《springboot实战》 第十章 整合Mybatis(注解)

简介: 《springboot实战》 第十章 整合Mybatis(注解)

前言

在Mapper方法上加注解,废弃xml配置方式

@Select
@Mapper
public interface OrderMapper {
    /**
     * 订单查询
     * @return
     */
    @Select("SELECT\n" +
            "\ta.id,\n" +
            "\ta.orderNo\n" +
            "FROM\n" +
            "\tgoods_order a")
    @Results(id="orderMap",value = {
            @Result(column = "id",property = "id",id = true),
            @Result(column = "orderNo",property = "orderNo"),
            @Result(column = "id",property = "listOrderDetail",
            many = @Many(select = "getOrderDetailByOrderId",fetchType = FetchType.LAZY))
    })
    List<Order> queryOrder();
    @Select("select id orderDetailId,order_id orderId,good_name goodName from goods_order_detail where id = #{orderId}")
    List<OrderDetail> getOrderDetailByOrderId(@Param("orderId") Integer orderId);
}
@Update("<script>" +
        "update t_emp" +
        "    <set >" +
        "      <if test=\"empName != null\" >" +
        "        emp_name = #{empName,jdbcType=VARCHAR},\n" +
        "      </if>" +
        "      <if test=\"empTel != null\" >" +
        "        emp_tel = #{empTel,jdbcType=VARCHAR}," +
        "      </if>" +
        "      <if test=\"empEducation != null\" >" +
        "        emp_education = #{empEducation,jdbcType=VARCHAR}," +
        "      </if>" +
        "      <if test=\"empBirthday != null\" >" +
        "        emp_birthday = #{empBirthday,jdbcType=DATE}," +
        "      </if>" +
        "      <if test=\"fkDeptId != null\" >" +
        "        fk_dept_id = #{fkDeptId,jdbcType=INTEGER}," +
        "      </if>" +
        "    </set>" +
        "    where emp_id = #{empId,jdbcType=INTEGER}" +
        "</script>")
int updateByPrimaryKeySelective(Employee record);

参考:http://www.yanhongzhi.com/post/mybatis-annotation.html#toc-ba6

目录
相关文章
|
1月前
|
XML Java 数据格式
SpringBoot入门(8) - 开发中还有哪些常用注解
SpringBoot入门(8) - 开发中还有哪些常用注解
52 0
|
1月前
|
SQL Java 数据库连接
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本文讲解了最新版MP的使用教程,包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段等核心功能。
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
|
24天前
|
缓存 Java 数据库连接
深入探讨:Spring与MyBatis中的连接池与缓存机制
Spring 与 MyBatis 提供了强大的连接池和缓存机制,通过合理配置和使用这些机制,可以显著提升应用的性能和可扩展性。连接池通过复用数据库连接减少了连接创建和销毁的开销,而 MyBatis 的一级缓存和二级缓存则通过缓存查询结果减少了数据库访问次数。在实际应用中,结合具体的业务需求和系统架构,优化连接池和缓存的配置,是提升系统性能的重要手段。
37 4
|
24天前
|
SQL Java 数据库连接
spring和Mybatis的各种查询
Spring 和 MyBatis 的结合使得数据访问层的开发变得更加简洁和高效。通过以上各种查询操作的详细讲解,我们可以看到 MyBatis 在处理简单查询、条件查询、分页查询、联合查询和动态 SQL 查询方面的强大功能。熟练掌握这些操作,可以极大提升开发效率和代码质量。
35 3
|
26天前
|
前端开发 Java Spring
Spring MVC核心:深入理解@RequestMapping注解
在Spring MVC框架中,`@RequestMapping`注解是实现请求映射的核心,它将HTTP请求映射到控制器的处理方法上。本文将深入探讨`@RequestMapping`注解的各个方面,包括其注解的使用方法、如何与Spring MVC的其他组件协同工作,以及在实际开发中的应用案例。
39 4
|
1月前
|
XML JSON Java
SpringBoot必须掌握的常用注解!
SpringBoot必须掌握的常用注解!
63 4
SpringBoot必须掌握的常用注解!
|
26天前
|
前端开发 Java 开发者
Spring MVC中的请求映射:@RequestMapping注解深度解析
在Spring MVC框架中,`@RequestMapping`注解是实现请求映射的关键,它将HTTP请求映射到相应的处理器方法上。本文将深入探讨`@RequestMapping`注解的工作原理、使用方法以及最佳实践,为开发者提供一份详尽的技术干货。
83 2
|
26天前
|
前端开发 Java Spring
探索Spring MVC:@Controller注解的全面解析
在Spring MVC框架中,`@Controller`注解是构建Web应用程序的基石之一。它不仅简化了控制器的定义,还提供了一种优雅的方式来处理HTTP请求。本文将全面解析`@Controller`注解,包括其定义、用法、以及在Spring MVC中的作用。
42 2
|
29天前
|
消息中间件 Java 数据库
解密Spring Boot:深入理解条件装配与条件注解
Spring Boot中的条件装配与条件注解提供了强大的工具,使得应用程序可以根据不同的条件动态装配Bean,从而实现灵活的配置和管理。通过合理使用这些条件注解,开发者可以根据实际需求动态调整应用的行为,提升代码的可维护性和可扩展性。希望本文能够帮助你深入理解Spring Boot中的条件装配与条件注解,在实际开发中更好地应用这些功能。
36 2
|
29天前
|
Java 数据库连接 数据库
spring和Mybatis的逆向工程
通过本文的介绍,我们了解了如何使用Spring和MyBatis进行逆向工程,包括环境配置、MyBatis Generator配置、Spring和MyBatis整合以及业务逻辑的编写。逆向工程极大地提高了开发效率,减少了重复劳动,保证了代码的一致性和可维护性。希望这篇文章能帮助你在项目中高效地使用Spring和MyBatis。
18 1