我有postgresqldb,我使用jdbc连接并生成表,但我想生成带有随机数据的表。因此,我创建了java方法,它生成随机名称和姓氏,我想将它们设置到我的表中的特殊列(name,姓氏)。我的数据库:
DROP TABLE IF EXISTS groups;
CREATE TABLE groups(
name VARCHAR(50),
surname VARCHAR(50),
);
我试着用这个代码来设置姓名:
String URL = "jdbc:postgresql://localhost:5432/school";
String user = "principal";
String password = "123";
String sqlScript = new String(Files.readAllBytes(Path.of("src/main/resources/database/dbScript.sql")));
Connection connection = DriverManager.getConnection(URL, user, password);
System.out.println("Success.........");
Statement script = connection.createStatement();
script.execute(sqlScript);
//class with random gen.
StudentsGenerator generator = new StudentsGenerator();
String query1 = "INSERT INTO groups " +"VALUES (generator.student().stream().map(names -> names.getName()))";
script.executeUpdate(query1);
1条答案
按热度按时间frebpwbc1#
如果
INSERT
允许有多个值的语句:可以生成这样的语句:
但是,这种方法不受sql注入的保护,因此更可取的做法是使用批插入来实现
PreparedStatement
: