private Connection getConnection() { // TODO Auto-generated method stub!!!! return null; }
时间: 2023-07-08 17:53:28 浏览: 45
根据您提供的代码片段,可以看出此方法没有实现,而是直接返回了 null 值,因此在其他方法中调用此方法获取连接时会返回 null,进而导致空指针异常。建议在这个方法中实现获取数据库连接的逻辑,并返回一个有效的 Connection 对象。例如:
```java
private Connection getConnection() throws SQLException {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "mypassword";
Connection conn = DriverManager.getConnection(url, username, password);
return conn;
}
```
这里的 getConnection 方法使用了 DriverManager 类来获取数据库连接,具体的 url、username、password 参数需要根据您的实际情况进行设置。另外,getConnection 方法在获取连接时可能会抛出 SQLException 异常,所以需要在方法签名中声明该异常。
相关问题
注释代码: protected void confirmButton(ActionEvent ae) { // TODO Auto-generated method stub String studentname=this.UserName.getText(); String studentpassword=this.UserPsd.getText(); UserType userType=(UserType) this.UserTypeComb.getSelectedItem(); User username=new User(studentname,studentpassword); Connection con = null; try { con=dbUntil.getConnection(); int n=UserDao(con, username); String sqlStr="insert into s_user(NAME,PASSWORD) values('"+studentname+"','"+studentpassword+"')"; if(n==2){ JOptionPane.showMessageDialog( null, "用户名已存在,请重新注册"); UserName.setText(""); UserPsd.setText(""); }else if(n==1){ JOptionPane.showMessageDialog( null, "注册失败"); UserName.setText(""); UserPsd.setText(""); }else { JOptionPane.showMessageDialog( null, "注册成功"); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } try { } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return ; }
这段代码是一个Java方法,名为confirmButton,它接受一个ActionEvent类型的参数,没有返回值(即返回类型为void)。在方法中,首先声明了一个名为studentname的字符串类型变量,它的值是从界面上获取的用户名文本框(UserName)的内容。接着声明了一个名为studentpassword的字符串类型变量,它的值是从界面上获取的用户密码文本框(UserPsd)的内容。
然后,从界面上获取了用户类型的组合框(UserTypeComb)中选中的选项,并将其转化为枚举类型UserType。接下来,创建了一个User类型的对象,传入了用户名和密码作为参数,并赋值给了名为username的变量。
接下来,创建了一个名为con的Connection类型的变量,并使用dbUntil类的getConnection方法获取数据库连接。然后调用了一个名为UserDao的方法,传入了con和username作为参数,并将返回值赋值给了一个名为n的整型变量。
接下来,根据n的值执行不同的代码块。如果n等于2,则说明用户名已存在,弹出一个消息框提示用户重新注册,并清空用户名和密码文本框的内容。如果n等于1,则说明注册失败,弹出一个消息框提示用户重新注册,并清空用户名和密码文本框的内容。如果n等于0,则说明注册成功,弹出一个消息框提示用户注册成功。
最后,使用try-catch块处理了可能出现的异常,并在最后返回。在方法的注释中,TODO表示这是一个待完成的任务,需要程序员完善其功能。
public void listen() { table.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { // TODO Auto-generated method stub int index=table.getSelectedRow(); int n=(int)table.getValueAt(index, 0); txt_bian.setText(n+""); } }); btn_huan.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub int bian=Integer.valueOf(txt_bian.getText()); LocalDateTime returntime=LocalDateTime.now(); try { Connection conn=DbUtil.getConnection(); Statement stm=conn.createStatement(); String sql="update borrowdetail set return_time='"+returntime+"' , room_status=0 where id='"+bian+"'"; int n=DataB.data_update(sql, stm); if(n>0) { JOptionPane.showMessageDialog(null, "教室归还成功"); putDates(); }else JOptionPane.showMessageDialog(null, "教室归还失败"); }catch(Exception ex) { ex.printStackTrace(); } } }); }
这段代码是用来监听鼠标点击和按钮点击事件的。当用户点击表格中的某一行时,会获取该行的第一列的值,并将其显示在一个文本框中。当用户点击一个“还教室”的按钮时,会获取文本框中的值作为教室编号,然后更新数据库中的相关记录,将教室状态设置为已归还,并记录归还时间。如果更新成功,会弹出一个对话框提示“教室归还成功”,否则提示“教室归还失败”。最后,调用putDates()方法刷新表格数据。