2015-03-12 1 views
1

Мне нужно вставить несколько строк значений в одну таблицу в одном представлении. enter image description hereкак вставить список значений в datatable весной hibernate

В Ajax

$("#btn_themDay").click(function(){ 
$("#themDay_validation").hide(); 
var no_row = Number($('#tbl_videoDetails').find("td.lastno").text()); 
var videoDetails_valid = true; 
var name = new Array(); 
var land = new Array(); 
var area = new Array(); 
var District = new Array(); 
var thaluk = new Array(); 
var i; 

for(i=1;i<=no_row;i++){  // validdation 
    name[i]=$("#vodtitle"+i).val(); 
    land[i]=$("#vodtime"+i).val(); 
    area[i]=$("#voduploadImage"+i).val(); 
    District[i]=$("#vodurl"+i).val(); 
    thaluk[i]=$("#voddes"+i).val(); 

$.ajax({ 
    url: "savefull", 
    type: "POST", 
    data: {values:name}, 
    traditional: true, 
    dataType: "json", 
    cache: false, 
    success: function (data) { 

    } 
}); 



return false; // for testing return false 

});

Ловлю данные в контроллере, как этот

@RequestMapping(value="savefull",method=RequestMethod.POST) 
    public @ResponseBody ThematicDay savefull(@ModelAttribute("Data") Data values){ 
     try{ 
      System.out.print("Value "+values+"  "); 

    } 
    catch(Exception e) 
    { 
     e.printStackTrace(); 
    } 
     return null; 

    } 

Но я не знаю, как вставить его в моем дао с помощью запроса спящего режима.

ответ

2

Вы можете использовать Batch Inserts

Session session = sessionFactory.openSession(); 
Transaction tx = session.beginTransaction(); 

for (int i=0; i<100000; i++) { 
    Customer customer = new Customer(.....); 
    session.save(customer); 
    if (i % 20 == 0) { //20, same as the JDBC batch size 
     //flush a batch of inserts and release memory: 
     session.flush(); 
     session.clear(); 
    } 
} 

tx.commit(); 
session.close(); 
1

Во-первых, создать объект, который будет использоваться для передачи данных в и из БД.

@Entity 
@Table(name = "data_table") // let the table name be "data_table" 
public class PData { 
@Id 
@Column(name = "data_id") 
private String id; 

@Column(name = "xyz") 
private String xyz; 

public PData() { 
    // Initialize 
} 

write getter and setters 
} 

Затем создайте репозиторий, который будет связываться с db. Вы можете использовать репозиторий JPA для его обработки.

public interface DataRepository extends JpaRepository<PData, String> { 
@Query("from PData where data_id = ?1") 
List<PData> findByKey(String data_id); 
} 

для сохранения данных создается объект DataRepository и вызвать метод сохранения Проходя мимо PDATA объекта; Например:

DataRepository dr = new DataRepository(); 
PData pd = new PData(); 
pd.setName("xyz"); 
pd.setId(id); 
//set all the values 
dr.save(pd); 
// then save to db 
Смежные вопросы