JDBC连接数据库6步

新建一个连接数据库,需要六步,

准备阶段

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.18</version>
</dependency>

JDBC所需的四个参数:

url=jdbc:mysql://localhost:3306/testjdbc?useUnicode=true&characterEncoding=gbk 

user=root

password=root

driverClass=com.mysql.jdbc.Driver

其中driverClass连接数据库所需的驱动

第一步:加载JDBC驱动程序

  将Driver类的实例注册到DriverManager类中

try{//加载MySql的驱动类    
    Class.forName("com.mysql.jdbc.Driver") ;    
}catch(ClassNotFoundException e){    
    System.out.println("找不到驱动程序类 ,加载驱动失败!");    
    e.printStackTrace() ;    
}   

  

第二步:创建数据库的连接

String url = "jdbc:mysql://localhost:3306/test" ;     
String username = "root" ;    
String password = "root" ;    
try{
    Connection connect = DriverManager.getConnection(url , username , password ) ;    
}catch(SQLException se){    
    System.out.println("数据库连接失败!");    
    se.printStackTrace() ;    
}    

  

第三步:执行的SQL语句

String sql = "SELECT * FROM USER_COL_COMMENTS WHERE TABLE_NAME = 'USER'";

注意SQL语句的结尾没有分号

第四步:执行SQL

Statement statement = connect.createStatement();
ResultSet result = statement.extcuteQuery(sql);

第五步:结果集处理

while(rs.next()){
    String name = rs.getString("name") ;
    String pass = rs.getString(1) ; // 此方法比较高效
}

第六步:关闭资源

一般关闭资源放在finally代码块中,

try{
    ...
} catch {
    ...
} finally {
    if(conn !=null){  // 关闭连接对象
        try {
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

执行语句常用

Statement statement = connect.createStatement() ;
ResultSet result = statement.executeQuery("SELECT * FROM ...") ;    
int rows = statement.executeUpdate("INSERT INTO ...") ;    
boolean flag = statement.execute(String sql) ; 
String sql = "SELECT * FROM USER_TAB_COMMENTS WHERE TABLE_NAME = ?";
PreparedStatement preparedStatement = connect.prepareStatement(sql);
preparedStatement.setString(1, "USER");
ResultSet result = preparedStatement.executeQuery();

获取结果集的数据条数

int size = result.getRetchSize();

  

原文地址:https://www.cnblogs.com/zj68/p/14684004.html