import java.sql.*;
成功加载驱动后,进一步获得连接对象;
先使用java.sql包中的Connection类声明一个对象
再使用类DriverManager调用它的静态方法getConnection创建这个连接对象
建立连接时应捕获SQLException异常 :
try{ Connection con=
DriverManager.getConnection("jdbc:mysql://服务器名或IP:3306/数据库名","login name“, " password ");
} catch(SQLException e){}
如:
Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", “1234");
Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/test", "root", “1234");
一旦成功连接到数据库,获得Connection对象后,必须通过Connection对象的createStatement方法来创建语句对象,才可以执行SQL语句;
如:Statement sql = con.createStatement();
使用语句对象来执行SQL语句,有两种情况:
一种是执行SELECT这样的数据查询语句(DQL),这样的语句将从数据库中获得所需的数据,使用Statement对象的executeQuery 方法执行;
一种是执行DELETE、UPDATE和INSERT之类的数据库操作语句(DML),这样的语句没有数据结果返回,使用Statement对象的executeUpdate方法执行;
sql.executeUpdate(“INSERT INTO goods VALUES (‘A009’,‘手机’, ‘2021-12-20’,3976) “);
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con;
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", “1234");
Statement sta = con.createStatement();
ResultSet rs = sta.executeQuery("SELECT * FROM goods");
System.out.println("查询到数据如下:");
while (rs.next()) { //循环将结果集游标往下移动,到达末尾返回false
//根据字段名称获得各个字段的值
System.out.print(rs.getString(“number”) + "\t"); //获得字符串
System.out.print(rs.getString(“name") + "\t"); //获得字符串
System.out.print(rs.getDate(“madeTime") + "\t"); //获得日期型数据
System.out.print(rs.getDouble (“price”) + “\t”); //获得数
}
con.close();
} catch (ClassNotFoundException cnfe) { cnfe.printStackTrace(); }
catch (SQLException sqle) { sqle.printStackTrace(); }
String strCon = "jdbc:odbc:myData";
System.out.println("正在连接数据库...");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con;
con = DriverManager.getConnection(strCon, “", "");
System.out.println("成功连接到数据库。");
PreparedStatement ps;
//使用带参数的SQL语句创建PreparedStatement对象
ps = con.prepareStatement("UPDATE goods SET price = ? WHERE Name = ?");
//设置SQL语句中的参数值
ps.setDouble(1, 5000);
ps.setString(2, “TV");
int count = ps.executeUpdate(); //执行命令
System.out.println("成功更新了" + count + "行数据。");
con.close(); //关闭资源