试图难倒大佬的第一天之sqlupdate失败

已经困扰我一个下午了 废话不多说 代码奉上

下面是userbean

package web;
import jdbc.DBBean;
public class user {
private int id;
private String name;
private String pwd;
public String getName() 
{return name;
}
public void setName(String name) {
 this.name = name;
}
public String getPwd() {
 return pwd;
}
public void setPwd(String pwd) {
 this.pwd = pwd;
}
public int addUser() {
int r;
 //实例化DBBean
 DBBean db= new DBBean();
 //设置sql语句和参数
 String sql="insert into user_table(name,pwd) values(?,?)";
 String[]  params = new String[] {this.name, this.pwd};
 //调用dbbean中的更新数据库操作sqlupdate()
 r=db.sqlupdate(sql ,params);
//关闭数据库
 db.getClose();
 return r;
 }
}

下面是DBBean

public class DBBean {
 private String url;
 private String username;
 private String pwd;
 private Connection conn;
 private PreparedStatement pstmt;
 public void getConnection() {
  url = "jdbc:mysql://localhost:3306/mydb01?serverTimezone=GMT";// 链接数据库的地址
  username = "root";// 连接数据库的用户名
  pwd = "root";// 链接数据库的密码
  try {
   // 加载驱动类通过名字
   Class.forName("com.mysql.jdbc.Driver");
   // 通过驱动类链接对象
   conn = DriverManager.getConnection(url, username, pwd);
   System.out.println("success");
  } catch (Exception e) {
   e.printStackTrace();
  }
  }
  public int sqlupdate(String sql, String[] params) {
  int r = 0;
  getConnection();
  try {
  pstmt = conn.prepareStatement(sql, params);
  if (params != null) {
    for (int i = 0; i < params.length; i++) {
     pstmt.setString(i + 1, params[i]);
    }
    }
    // 执行更新数据库的操作
   r = pstmt.executeUpdate();
   } catch (Exception e) {
   // TODO: handle exception
  }
  return r;
  }
  }

下面是register的jsp 用于处理register.html的表单提交的数据
问题就在这里了

在实际测试中发现p.addUser()返回值是0
说明我输入的用户名和密码没有被写入数据库
我在数据库中看了username还有pwd确实初始化成功了但是值都是null

那么究竟是哪里出了问题呢?

<body>

<jsp:useBean id="p" class="web.user" ></jsp:useBean>
<jsp:setProperty  property="name"  name="p"/>
<jsp:setProperty  property="pwd"  name="p"/>
<%
if(p.addUser()==1){
request.getRequestDispatcher("main.jsp").forward(request, response);
}
else{
 out.print(p.addUser());}
 %>
</body>

对了,console页面的一句话没听懂 是驱动版本的问题???

Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值