如果我有一个具有两个字段Name(String)和ID(整数)的person类,我如何在数据库中保存此类的实例?是否可以定义新的数据类型Person?或者我是否需要在包含列名称,ID的数据库中一个接一个地保存字段? 对于第二种情况,下面的代码是适当的方法吗?
Connection con = DriverManager.getConnection(
"jdbc:myDriver:myDatabase",
username,
password);
Person P1;
Statement stmt = con.createStatement();
stmt.execute("INSERT INTO TABLE VALUES ("+ P1.Name ", " + P1.ID ")");
答案 0 :(得分:5)
是的,两个字段必须保存在两个单独的列中。
不,这不是插入值的正确方法。学习在执行查询时使用prepared statements传递参数,从而避免未转义引号和SQL注入攻击的问题。
您还应始终指定列名称,而不是依赖其默认顺序:
insert into person (id, name) values (?, ?)
此外,您的代码应遵守Java命名约定,并且不应使用公共字段:p1.getName()
而不是P1.Name
。