1.配置文件resultMap
<resultMap id="RepliesMap" type="com.gcj.entity.ArtificialInquiryReply"> <id column="airId" property="id" jdbcType="INTEGER" /> <result column="user_id" property="userId" jdbcType="INTEGER" /> <result column="created_at" property="createdAt" jdbcType="TIMESTAMP" /> <result column="updated_at" property="updatedAt" jdbcType="TIMESTAMP" /> <result column="note" property="note" jdbcType="VARCHAR" /> <result column="inquiry_user_id" property="inquiryUserId" jdbcType="BIGINT" /> <result column="answer_time" property="answerTime" jdbcType="TIMESTAMP" /> <result column="materials_type" property="materialsType" jdbcType="VARCHAR" /> <!-- 关联 --> <association property="bill" javaType="com.gcj.entity.ArtificialInquiryBill" resultMap="BillsMap" /> </resultMap>
2.set与if标签嵌套
<update id="updateQuotedPrices" parameterType="com.gcj.entity.ArtificialInquiryQuotedPrices"> update artificial_inquiry_quoted_prices <set> <if test="companyId != null and companyId != ''"> company_id=#{companyId,jdbcType=INTEGER}, </if> <if test="price != null and price != ''"> price=#{price,jdbcType=DOUBLE}, </if> <if test="remarks != null and remarks != ''"> remarks=#{remarks,jdbcType=DOUBLE}, </if> <if test="discount != null and discount != ''"> discount=#{discount,jdbcType=DOUBLE}, </if> <if test="status != null and status != ''"> status=#{status,jdbcType=VARCHAR}, </if> <if test="reply != null and reply != ''"> artificial_inquiry_reply_id=#{reply.id,jdbcType=VARCHAR}, </if> <if test="createdAt != null and createdAt != ''"> created_at=#{createdAt,jdbcType=VARCHAR}, </if> <if test="updatedAt != null and updatedAt != ''"> updated_at=#{updatedAt,jdbcType=VARCHAR}, </if> <if test="TrackTime != null and TrackTime != ''"> inquiry_track_time=#{TrackTime,jdbcType=VARCHAR}, </if> <if test="content != null and content != ''"> content=#{content,jdbcType=VARCHAR}, </if> <if test="userId != null and userId != ''"> user_id=#{userId,jdbcType=VARCHAR}, </if> <if test="bill != null and bill != ''"> artificial_inquiry_bill_id=#{bill.id,jdbcType=VARCHAR}, </if> <if test="materialsRemark != null and materialsRemark != ''"> materials_remark=#{materialsRemark,jdbcType=VARCHAR}, </if> </set> where id=#{id} </update>
3.批量查询
<select id="getRepliesBatch" resultMap="RepliesMap"> select aib.id as aidId,aib.bill_number, air.id as airId,air.material_name,air.specification,air.amount,air.unit,air.other_note,air.brand from artificial_inquiry_replies air, artificial_inquiry_bills aib where air.artificial_inquiry_bill_id = aib.id and air.user_id = 1 and air.status = 'DISPOSE' and air.id in <foreach collection="list" item="id" index="index" open="(" close=")" separator=","> #{id} </foreach> order by air.answer_time asc </select>
4. 批量增加
<insert id="addReplies" parameterType="list"> insert into artificial_inquiry_replies(material_name,specification,amount,unit,artificial_inquiry_bill_id,user_id,status,created_at,updated_at, note,inquiry_user_id,no_pass_reason,other_note,is_front,brand,answer_time,materials_type) values <foreach collection="list" item="reply" index="index" separator=","> ( #{reply.materialName},#{reply.specification},#{reply.amount}, #{reply.unit},#{reply.bill.id},#{reply.userId},#{reply.status}, #{reply.createdAt},#{reply.updatedAt},#{reply.note},#{reply.inquiryUserId}, #{reply.noPassReason},#{reply.otherNote},#{reply.front},#{reply.brand}, #{reply.answerTime},#{reply.materialsType} ) </foreach> </insert>
5. 批量删除
<delete id="deleteRepliesBatch" parameterType="list"> delete from artificial_inquiry_replies where id in <foreach collection="list" item="item" index="index" open="(" close=")" separator=","> #{item} </foreach> </delete>
相关推荐
1. **Mapper接口**:定义数据库操作的方法,与XML配置文件或注解对应。 2. **SQL映射文件**:编写具体的SQL语句,可以动态化处理,支持复杂的查询需求。 3. **MyBatis-Spring整合**:使MyBatis与Spring无缝集成,...
下面我们将深入探讨SpringMVC与Mybatis整合过程中使用Mapper方式的细节。 首先,我们需要了解SpringMVC的运行机制。SpringMVC通过DispatcherServlet接收HTTP请求,然后根据配置的HandlerMapping找到对应的...
总结来说,SpringMVC+Mybatis+Web的配置涉及多个层次的文件,包括SpringMVC的`spring-mvc.xml`、Mybatis的`mybatis-config.xml`和`mybatis-spring.xml`、Web应用的`web.xml`以及Spring的全局配置`applicationContext...
项目描述 在上家公司自己集成的一套系统,用了两个多月的时间完成的:Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级开发系统 Springboot作为容器,使用mybatis作为持久层框架 使用官方推荐的thymeleaf做为...
Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理...
"SpringMvc+Spring+Mybatis+Maven+注解方式"是一个经典的Java后端技术栈,它整合了四个关键组件,为开发人员提供了强大的工具和框架支持。下面将详细讲解这四个组件及其整合方式。 1. **Spring Framework**: ...
Spring、SpringMVC和Mybatis是Java开发中最常用的三大开源框架,它们的整合使用,通常被称为SSM框架。这个框架组合提供了完整的后端服务解决方案,包括依赖注入(DI)、面向切面编程(AOP)、模型-视图-控制器(MVC...
在提供的压缩包中,文件可能包括Spring、SpringMVC和MyBatis的jar包,以及相关的配置文件,例如spring-context.xml、web.xml、mybatis-config.xml、Mapper接口和XML文件等。这些文件是整合SSM框架的关键,通过它们...
《图书管理系统SpringMvc+Mybatis实现详解》 在IT领域,构建高效、稳定的软件系统是至关重要的。本项目“图书管理系统”就是这样一个实例,它利用了SpringMvc和Mybatis两大主流框架,为图书管理提供了全面的解决...
【标题】"spring+springmvc+mybatis搭建的酒店管理系统附带mysql数据库"涉及的核心技术是Java企业级开发中的Spring框架、SpringMVC模块以及MyBatis持久层框架,同时结合了MySQL数据库来存储和管理数据。这个项目是...
1. **配置**:在Spring的配置文件中,需要配置DataSource、SqlSessionFactoryBean以及MapperScannerConfigurer,后者用于扫描标记为@Mapper的接口。 2. **Mapper接口和XML映射文件**:每个Mapper接口对应一个XML映射...
本项目以“maven+springmvc+redis+mybatis整合”为主题,旨在提供一个基于这些技术的集成框架,特别强调了利用Redis作为缓存来提升应用性能。下面将详细阐述这个框架中的各个组成部分以及它们之间的协作。 首先,...
1. **Spring配置**:理解如何在Spring配置文件中定义Bean,以及如何使用@Autowired注解实现依赖注入。 2. **SpringMVC配置**:了解`DispatcherServlet`的配置,以及如何设置URL映射和视图解析器。 3. **数据库配置**...
springMVC+maven+hibernate框架,搭建的过程 可以参考 java进阶(五)------springMVC---springMVC+Hibernate+maven完整搭建运行步骤 http://blog.csdn.net/zzq900503/article/details/49892783
标题 "Spring+SpringMVC+Mybatis资源课件" 提供了一个学习路径,涉及Java开发中的三个关键组件:Spring框架、SpringMVC和Mybatis。这些技术是构建现代企业级Web应用程序的基础,尤其是在Java世界中。 Spring框架是...
标题中的"idea工具创建的Spring+SpringMVC+Hibernate+maven项目"指的是使用IntelliJ IDEA这个集成开发环境(IDE)构建的一个Java Web项目,该项目整合了四个关键的技术框架:Spring、SpringMVC、Hibernate以及Maven...
配置SpringMVC需要`spring-webmvc`库,创建`web.xml`配置DispatcherServlet,以及在Spring配置文件中定义视图解析器和控制器。 3. **Mybatis**:Mybatis是一个轻量级的持久层框架,它允许开发者编写SQL语句并映射到...
项目描述 说明: spring security 全注解式的权限管理 动态配置权限,角色和资源,权限控制到...Springboot+Mybatis+ SpringMvc+springsecrity+Redis+bootstrap+jquery 数据库文件 压缩包内 jar包文件 maven搭建
在SpringMVC+Spring+Ibatis的架构中,多数据源配置是一项重要特性。这允许应用连接到多个数据库,根据业务需求选择合适的数据库进行操作。在Spring中,可以通过DataSourceRouter或AbstractRoutingDataSource实现动态...
4. **MyBatis配置**:每个数据源都需要对应的MyBatis配置,包括SqlSessionFactoryBean的创建,以及Mapper接口和XML配置文件的关联。 5. **代码结构**:通常,我们会为每个数据源创建一个独立的服务层和DAO层,以...