java-如何在数据库中插入多个不同长度的数组
我有3个不同长度的数组。我需要将所有3个数组中的值插入到数据库表中 这是我的阵列:java-如何在数据库中插入多个不同长度的数组,java,arrays,spring-mvc,Java,Arrays,Spring Mvc,我有3个不同长度的数组。我需要将所有3个数组中的值插入到数据库表中 这是我的阵列: //Array1 length int id_hutang = model.getId_hutang().length; //3 //Array2 length int jlh_pengeluaran = model.getJlh_pengeluaran().length; //5 //Array3 length int id_keagenan = model.getId_keagenan().length; /
//Array1 length
int id_hutang = model.getId_hutang().length; //3
//Array2 length
int jlh_pengeluaran = model.getJlh_pengeluaran().length; //5
//Array3 length
int id_keagenan = model.getId_keagenan().length; //4
我将检索3个数组中的最大长度
int largest = Math.max(id_hutang,Math.max(jlh_pengeluaran,id_keagenan));
并将最大长度作为for循环的基值
for(int i=0; i<largest; i++)
{
String sql = "INSERT INTO surat_jalan (a, b, c) VALUES (?, ?, ?)";
template.update(sql, model.getId_hutang()[i], model.getJlh_pengeluaran()[i], model.getId_keagenan()[i]);
}
for(inti=0;iid_hutang){
a=“”;
}否则{
a=model.getId_hutang()[i];
}
如果(i>jlh_pengeluaran){
b=“”;
}否则{
b=model.getJlh_pengeluaran()[i];
}
如果(i>id_keagenan){
c=“”;
}否则{
c=model.getId_keagenan()[i];
}
模板更新(sql、a、b、c);
}
在model.getId_hutang()和model.getId_keagenan()中获取的值超出范围
试试这个
int id_hutang = model.getId_hutang().length;
int jlh_pengeluaran = model.getJlh_pengeluaran().length;
int id_keagenan = model.getId_keagenan().length;
int largest = Math.max(id_hutang,Math.max(jlh_pengeluaran,id_keagenan));
for(int i=0; i<largest; i++)
{
String sql = "INSERT INTO surat_jalan (a, b, c) VALUES (?, ?, ?)";
template.update(sql,
(i<id_hutang)?model.getId_hutang()[i]:0,
(i<jlh_pengeluaran)?model.getJlh_pengeluaran()[i]:0,
(i<id_keagenan)?model.getId_keagenan()[i]:0);
}
了解更多关于
考虑一下您的数据库设计,试试NoSQL-MongoDB?尝试使用“while”结构而不是“for”。@biladina assign null,如果对象中没有任何值,那么所有bean类的长度都可以相同。您还可以将相同的null插入数据库。您不需要更改任何数据库design@divine问题是我无法将数据插入数据库,因为我的数组中的元素长度不同,并且数组元素从输入字段是动态的..是的,我忘了在三元运算中提到-1,但是“<”这很酷,你的
I
应该是I@mamtora谢谢,行得通,你救了我的命,伙计…-)
for(int i=0; i<largest; i++)
{
String sql = "INSERT INTO surat_jalan (a, b, c) VALUES (?, ?, ?)";
String a="",b="",c="";
if(i>id_hutang ){
a="";
}else{
a=model.getId_hutang()[i];
}
if(i>jlh_pengeluaran ){
b="";
}else{
b=model.getJlh_pengeluaran()[i];
}
if(i>id_keagenan ){
c="";
}else{
c=model.getId_keagenan()[i];
}
template.update(sql, a,b,c);
}
int id_hutang = model.getId_hutang().length;
int jlh_pengeluaran = model.getJlh_pengeluaran().length;
int id_keagenan = model.getId_keagenan().length;
int largest = Math.max(id_hutang,Math.max(jlh_pengeluaran,id_keagenan));
for(int i=0; i<largest; i++)
{
String sql = "INSERT INTO surat_jalan (a, b, c) VALUES (?, ?, ?)";
template.update(sql,
(i<id_hutang)?model.getId_hutang()[i]:0,
(i<jlh_pengeluaran)?model.getJlh_pengeluaran()[i]:0,
(i<id_keagenan)?model.getId_keagenan()[i]:0);
}
-----------------------------------------------
| a | b | c |
-----------------------------------------------
| 23 | 500000 | 3 |
-----------------------------------------------
| 4 | 500000 | 4 |
-----------------------------------------------
| 10 | 500000 | 6 |
-----------------------------------------------
| 0 | 300000 | 8 |
-----------------------------------------------
| 0 | 600000 | 0 |
-----------------------------------------------