新建一个连接数据库,需要六步,
准备阶段
<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();