问题遇到的现象和发生背景
在制作web项目时,发现代码执行成功但是数据库没有数据插入,已经测试过用户数据封装没有问题,可以正常获取。数据库语句没有问题,在mysql能够正常执行。测试到错误的地方为sql语句的执行。
用代码块功能插入代码,请勿粘贴截图
以下是java代码,idea无报错
public class DataInsert {
public void Insert(Connection con,PerUser user) throws Exception {
String sql="insert into userdata(username,password,gender,age,address) values(?,?,?,?,?)";
PreparedStatement pst=con.prepareStatement(sql);
pst.setString(1,user.getUsername());
pst.setString(2,user.getPassword());
pst.setString(3,user.getGender());
pst.setString(4,user.getAge());
pst.setString(5,user.getAddress());
// modify data
System.out.println(""+user.getUsername());
pst.execute();
}
}
以下是数据库代码
create table userdata
(
id int primary key auto_increment,
username varchar(20),
password varchar(20),
gender varchar(5),
age varchar(5),
address varchar(50)
);
运行结果及报错内容
服务器输出,没有报错,同时user中的属性值能获取到
我的解答思路和尝试过的方法
试过statement,插入语句无法执行。预编译语句试过给变量直接赋值,也是无法执行sql语句。
我想要达到的结果
希望能在数据库正常插入数据。