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