jdbc mysql statement_类型不匹配:java.sql.Statement无法转换为java.beans.Statement
主要原因是导包时大意,导错包,很难发现问题。为简便,可先直接导所有包
import java.sql.*;
package com.zf.jdbc.utils;
import java.sql.Statement;//导包导错
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
//import java.sql.*;
//JDBC工具类
//提取出经常用的代码段,简化代码
public class DBCutils {
// 简化代码,方便灵活使用
private static final String driverClassName;
private static final String url;
private static final String username;
private static final String password;
static {
driverClassName="com.mysql.cj.jdbc.Driver";
url="jdbc:mysql:///web_test3";
username="root";
password="123456";
}
// -----------------------------------------------------------------------------------
//注册驱动的方法
public static void loadDriver(){
try {
Class.forName(driverClassName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
// -----------------------------------------------------------------------------------
// 获得连接的方法
public static Connection getConnection(){
//将驱动一并注册,只需调用这一个
Connection conn = null;
try {
loadDriver();
//获得链接
conn = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
// ------------------------------------------------------------------------------------------
// 资源的释放 查询需要3个,增删改需要2个 写重载方法
public static void release(Statement stmt,Connection conn){
if (stmt!=null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
stmt=null; //手动置为空
}
if (conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
conn=null;
}
}
public static void release(ResultSet rs,Statement stmt, Connection conn){
if (rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
rs=null; //手动置为空
}
if (stmt!=null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
stmt=null; //手动置为空
}
if (conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
conn=null;
}
}
}
测试工具类
package com.zf.jdbc.utils;
import java.sql.Connection;// 刚开始导包错误,
import java.sql.ResultSet;
import java.sql.Statement;
//import java.sql.*;
public class Utilstest {
public static void main(String[] args) {
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
try {
conn=DBCutils.getConnection();
stmt=conn.createStatement();
String sql="select * from user";
rs=stmt.executeQuery(sql);
while (rs.next()){
System.out.println(rs.getInt("id")+" "+rs.getString("username")+" "+rs.getString("password")+" "+rs.getString("nickname")+" "+rs.getInt("age"));
}
}catch (Exception e){
e.printStackTrace();
}finally {
DBCutils.release(rs,stmt,conn);
}
}
}