不知道你用的什么数据库,我用的是oracle,跟你遇到相同的问题了,不过我写了pl/sql解决了问题,下面是我的代码。在代码里解决的话,最好利用事务处理,在数据库中可以用存储过程。
*** 作数据库要分开,可以写两个dao,不过要放在一个service中,可以控制事务。
set serveroutput on;
declare
pid number;
pname varchar2(50);
begin
pid:=0;
loop
pid := pid+1;
select name into pname from ptype where id = pid;
dbms_outputput_line('这是类别名称'||pname);
update books set ptype=pid where ptype = pname;
if pid>=5 then
exit;
end if;
end loop;
end;
要看你这个List的属性跟数据库的表的字段是怎么映射的呢?根据你的业务需求进行存储就好了啊。
如果理不清楚,说明你的数据结构设计有问题。先设计好数据库的结构,再设计java bean,二者的映射关系要弄清楚才好。
本例使用 mysql 数据库,演示将数据库 test 的 tb_users 表中的用户信息存储到 List 中
代码如下:
import javasqlConnection;import javasqlDriverManager;
import javasqlResultSet;
import javasqlSQLException;
import javasqlStatement;
import javautilArrayList;
import javautilList;
// 用户类,存储单个用户信息
class User {
private int id;
private String name;
public User(int id, String name) {
thisid = id;
thisname = name;
}
public int getId() {
return id;
}
public void setId(int id) {
thisid = id;
}
public String getName() {
return name;
}
public void setName(String name) {
thisname = name;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + "]";
}
}
public class Demo1 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 本例使用 mysql 数据库,演示将数据库 test 的 tb_users 表中的用户信息
// 放到 List 中
// 加载数据驱动
ClassforName("commysqljdbcDriver");
// 数据库连接字符串, 此例数据库为 test
String url = "jdbc:mysql://localhost:3306/test";
String user = "root"; // 数据库用户名
String password = ""; // 数据库密码
// 打开一个数据连接
Connection conn = DriverManagergetConnection(url, user, password);
Statement stmt = conncreateStatement();
// 获取表 tb_users 所有用户信息到结果集中
ResultSet rs = stmtexecuteQuery("SELECT id, name FROM tb_users");
// 定义一个存放用户信息的 List
List<User> users = new ArrayList<>();
// 提取用户信息,并将用户信息放入 List
while (rsnext()) {
// 获取用户ID
int id = rsgetInt(1);
// 获取用户名
String name = rsgetString(2);
usersadd(new User(id, name));
}
rsclose();
stmtclose();
connclose();
// 显示用户信息
for (User u : users) {
Systemoutprintln(u);
}
}
}
你是说将java中集合的所有元素插入到数据库中吗?
List<String> list = new ArrayList<String>();
listadd("元素1");
listadd("元素2");
listadd("元素3");
listadd("元素4");
for(int i=0;i<listsize();i++){
String item = listget(i);
String sql = "insert into table test(test)values(item)";
int flag = save(sql);//如果flag == 1则表示数据插入数据库成功,否则表示插入失败
}
//注释:你只需要写一个插入数据到数据库的方法save(String sql)即可。
以上就是关于java 数据库 *** 作 list全部的内容,包括:java 数据库 *** 作 list、如何把一个包含List的bean插入到数据库中、java怎么把数据库的东西导入LIST中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)