1. 程式人生 > >mybatis中一對多新增

mybatis中一對多新增

如果一個表可以上傳一個圖片,也可以上傳多個圖片,也可以不上傳圖片,圖片的資訊放在附件表裡面,那麼後臺怎樣接收前臺傳過來的值呢?前臺後怎樣傳第圖片的值呢。

1.第一種方法是前臺傳一個字串過來。前臺將圖片名字通過逗號分割傳到後臺,後臺用一個集合來接收。

例: 前臺:name="imageName" imangeName = "風景圖片1,風景圖片2,......",或者imangeName ="風景圖片"或者imangeName =""

後臺:public ResultData insertComment(Comment comment,@RequestParam(value="imangeName 

",required=false) List<String> atts) 注:@RequestParam裡面的value屬性必須和前臺的name屬性一致,required=false表示該欄位可以為空,因為前臺可以不傳圖片屬性,若必須要求前臺傳圖片屬性,即必須上傳圖片,那麼將required=false去掉就OK了,應為@RequestParam預設的就是required=true

controller呼叫Service裡面的實現方法,對主表進行儲存的同時迴圈將圖片儲存在附件表裡面(主表呼叫主表的儲存方法,圖片呼叫附件的儲存方法,兩個儲存必須在一個方法中,這樣當一個表不成功時才會回滾方法)

junit測試controller傳參的格式為:.param("startlevel", "5").param("imageName", "白菜,冬瓜")

2.第二種是前臺傳一個json格式的字串,後臺用一個String型別的變數接收。

例: 前臺:[{id:'',imagename:'a1',imageupdatename:'',url:'a1',commentid:'',createdate:''},{id:'',imagename:'a2',imageupdatename:'',url:'a2',commentid:'',createdate:''}]

後臺:@RequestMapping(value="/insertComment",method=RequestMethod.POST)
public ResultData insertComment(Comment comment,@RequestParam("key") String json){
try {
List<CommentAttachment> list = null ;

//對json格式進行解析
list = GsonUtil.getGson().fromJson(json, new TypeToken<List<CommentAttachment>>(){}.getType()) ;
comment = commentService.insertComment(comment, list);
return new ResultData(comment);
} catch (Exception e) {
e.printStackTrace();
return SchExceptionUtil.ExceptionConvertState(e);
}

controller呼叫Service裡面的實現方法,對主表進行儲存的同時迴圈將圖片儲存在附件表裡面(主表呼叫主表的儲存方法,圖片呼叫附件的儲存方法,兩個儲存必須在一個方法中,這樣當一個表不成功時才會回滾方法)

junit測試controller傳參的格式:.param("palate", "4").param("environment", "4").param("service", "4").param("key", "[{id:'',imagename:'a1',imageupdatename:'',url:'a1',commentid:'',createdate:''},{id:'',imagename:'a2',imageupdatename:'',url:'a2',commentid:'',createdate:''}]")

相關推薦

mybatis一對新增

如果一個表可以上傳一個圖片,也可以上傳多個圖片,也可以不上傳圖片,圖片的資訊放在附件表裡面,那麼後臺怎樣接收前臺傳過來的值呢?前臺後怎樣傳第圖片的值呢。 1.第一種方法是前臺傳一個字串過來。前臺將圖片

處理 Mybatis 一對對一、對映的黑魔法

前言 先看看Mybatis官方介紹 MyBatis 避免了幾乎所有的 JDBC 程式碼和手動設定引數以及獲取結果集。MyBatis 可以使用簡單的 XML 或註解來配置和對映原生資訊,將介面和 Java 的 POJOs(Plain Old Java Objects,普通的

mybatis條件查詢

app commit out con turn list 接口 system map集合 使用Map集合和索引號 接口: /** * 多條件查詢Map集合 * @param map * @return */public List<Student> fi

Mybatis一對(collection)和一對一(association)查詢

del 建表 def mapping p s 新的 ron 語句塊 user 1、mybatis支持映射復雜的查詢結果集 2、表之間的關系 3、實體及其對應關系: @Data @EqualsAndHashCode(callSuper = false) public c

spring boot mybatis 一對一 一對

oct 技術分享 mybatis blog use res pac ase unit pox配置 <!-- mybatis --> <dependency> <groupId>o

Java一對映射關系

system 組類型 關系 clas per i++ 技術 分享 定義 通過栗子,一個人可以有多輛汽車 定義人 這個類 人可以有很多輛汽車,類中車屬性用數組 class Person{ private String name; private Str

mybatis一對查詢

main eip pmo ctp std arraylist rst etl CP 創建實體類對象 class XXX{ string xxx, string xxx, List<MMM> mmm, } mybatis

mybatis一對

value ssi pooled nsa void nfa action pack select 1、配置文件 db.properties db.driver=com.mysql.jdbc.Driver db.url=jdbc:mysql://localhost:

Mybatis一對查詢

association是用於一對一和多對一,而collection是用於一對多的關係 一對一(訂單和使用者): <select id="findOrdersUser" resultType="com.mybatis.xdw.po.OrdersCustom"> select

mybatis:註解一對

上期一對一 一對多:作者有一本或多本書 書必然有一個作者,可能多本書共同擁有一個作者   package com.hc.model; import java.util.List; public class Author { private int autId;

Mybatis一對對一、案例

一、一對多 1.首先建立資料庫和表。兩張表的id欄位是自動遞增的。 給category表錄入兩條資料,可自行新增記錄。 INSERT INTO `category` VALUES (1, '我是分類1'); INSERT INTO `category` VALUES (2, '我

hibernate一對建表及各種操作

實體類: Student private Integer sid; private String sname; private String sage; private String ssex; private Teacher teacher

hibernate一對關係

一對多:                     一個部門對應多個員工,一個員工只能屬於某一個部門。             &nb

MyBatis表操作情形一:一對一(方式1:一條sql語句查詢,MyBatis3.0可以用association和collection標籤)

MyBatis支援多表操作,即可以將資料庫中多表的關係對映到物件之間的關係中 表與表之間的關係可以有:一對一,一對多,多對多 關係一演示案例:人和身份證是一對一的,分別建兩個表person和card,其中person的cardid欄位外來鍵關聯card的id,

Mybatis一對對一、例子

一、一對多 1.首先建立資料庫和表。兩張表的id欄位是自動遞增的。 給category表錄入兩條資料,可自行新增記錄。 INSERT INTO `category` VALUES (1, '我是分類1'); INSERT INTO `category` VALUES

Hibernate一對配置及操作

表的一對多對映配置 以客戶和聯絡人表為例子:客戶是一,聯絡人是多 1、建立實體類,客戶和聯絡人 2、讓兩個實體類之間互相表示 (1)在客戶實體類中要表示多個聯絡人 - 一個客戶有多個聯絡人 //在客戶實體類裡面表示多個聯絡人,一個客戶有多個聯絡人 //hibern

MyBatis實現表查詢

一、 1、Mybatis是實現多表查詢方式   1.1  業務裝配:對兩個表編寫單表查詢語句,在業務(Service)把查詢的兩表結果合併   1.2  使用Auto Mapping 特性,在實現兩表聯合查詢時通過別名完成對映   1.3  使用MyBatis<re

Mysql 一對的關係表使用不了索引的問題

我所用到的表有兩張,分別是 A表和B表。 A表 guess_id user_id 1 DD 2 CC 3 SS B表 b_id guess_id b_name 1

mybatis一對查詢

一對多查詢 需求 查詢訂單及訂單明細的資訊。 sql語句 確定主查詢表:訂單表 確定關聯查詢表:訂單明細表 在一對一查詢基礎上新增訂單明細表關聯即可。 SELECT   orders.*,   USER.username,   USER.sex,   U

solr一對關係

先看下官方文件的例子: 假設有如下表結構: data-config.xml:一對多,多對多的關係寫法如下: 一對多寫法: 多對多寫法: 本人使用的是以上的寫法,api中也給出了另一種寫法,但自己沒有測試過: 剛開始配置完成後,得出的結果始終是一對一: 如上圖:假