imacoder 2019-12-19
import java.sql.*; public class JDBCDemo { public static void main(String[] args) { //加载数据库的驱动 mysql: com.mysql.jdbc.Driver try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } /** * 获取数据库的连接 DriverManager * URL格式: * jdbc:数据库子协议(mysql/oracle/sql sever) ://ip:port/database_name * 数据库的连接URL: jdbc:mysql://localhost:3306/exercise exercise 是库名 3306数据库端口号 * * 用户名:root * 密码:123456 */ //获取数据库的连接 DriverManager try { /** * getConnection源码 * * @param url a database url of the form * * @return a connection to the URL * 返回一个URL * 所以必须捕获异常,防止url为空 * * @exception SQLException if a database access error occurs or the url is * * {@code null} * * @throws SQLTimeoutException when the driver has determined that the * * timeout value specified by the {@code setLoginTimeout} method * * has been exceeded and has at least tried to cancel the * * current database connection attempt */ Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/exercise", "root", "123456"); //获取Statement的实例:通过connect实例获取 /** * createStatement * Creates a <code>Statement</code> object for sending SQL statements to the database. * 把sql语句给数据库 */ Statement statement = connection.createStatement(); /** * 执行SQL:1.创建基本的statement对象 * Statement statement = connection.createStatement(); */ //执行SQL String sql = "select * from student"; //将SQL提交给MySQL数据库 /** * executeQuery * * Executes the given SQL statement, which returns a single <code>ResultSet</code> object. * 执行sql语句 */ ResultSet resultSet = statement.executeQuery(sql); //对结果集的处理 System.out.println("SID:Sname:Ssex:Sage"); while (resultSet.next()) { //boolean next() 判断返回结果集中是否还有数据 //指定属性名 String sid = resultSet.getString("SID"); String sname = resultSet.getString("Sname"); String ssex = resultSet.getString("Ssex"); String sage = resultSet.getString("Sage"); System.out.println(sid+":"+sname+":"+ssex+":"+sage); } //关闭资源 statement.close(); connection.close(); } catch (SQLException e) { e.printStackTrace(); } } }