Java数据库连接与查询
9个步骤:
1、加载数据库驱动;
2、连接数据库;
3、创建语句statement;
5、创建sql语法字符串;
6、执行;
7、如果步骤6是执行新增、修改、删除操作那么返回的是影响的行数,如果是执行查询操作,接着步骤8:
8、解析结果集ResultSet;
9、关闭结果集ResultSet、关闭Statement、关闭数据库连接。
上代码:
public static void main(String[] args) throws SQLException { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { System.out.println("找不到驱动类!"); e.printStackTrace(); } String url = "jdbc:mysql://localhost:3306/exe_course"; String userName = "root"; String password = "123456"; try (Connection connection = DriverManager.getConnection(url, userName, password)) { System.out.println("数据库链接成功!"); try (Statement statement = connection.createStatement()) { String command = "insert into a_dept(name) values('1'),('2')"; int count = statement.executeUpdate(command); System.out.println("受影响行数:" + count); String selectSql = "select * from a_dept"; try (ResultSet resultSet = statement.executeQuery(selectSql)) { while (resultSet.next()) { System.out.println(resultSet.getInt("id")); System.out.println(resultSet.getString("name")); } } } } }
上面代码使用了try的两种用法,在需要释放资源的时候比较推荐使用第二种用法,这种方式会在使用结束之后自动关闭资源。
下面是运行结果:
注意:
1、我们使用try-with-resources写法来自动关闭statement,同时也用来关闭ResultSet,但是需要注意的是:关闭statement的同时也会自动关闭相应statement下的结果集ResultSet.
2、同样,关闭一个connect的时候会关闭该连接下的所有statement。
2、一个statement对应的只能有一个打开的ResultSet结果集。如果需要执行多个查询操作,建议创建多个statement对象,或者是使用联合查询(最常用)。