版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42528266/article/details/103036956
JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。
Class.forName(“oracle.JDBC.driver.OracleDriver”);//使用Oracle的JDBC驱动程序
Class.forName(“com.microsoft.JDBC.sqlserver.SQLServerDriver”);//使用SQL Server的JDBC驱 动程序
Class.forName(“com.ibm.db2.JDBC.app.DB2Driver”);//使用DB2的JDBC驱动程序
Class.forName("com.mysql.JDBC.Driver");//使用MySql的JDBC驱动程序
DriverManager.getConnection(String url, String user, String password )
方法 Connection conn=null;
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String user=“scott";
String password=“tiger";
conn = DriverManager.getConnection(url, user, password);
executeQuery()
方法的返回值,它被称为结果集,它代表符合SQL语句条件的 所有行,并且它通过一套getXXX方法(这些get方法可以访问当前行中的不同列)提供了对这 些行中数据的访问。public void close() throws SQLException
注意:要按先ResultSet结果集,后Statement,最后Connection的顺序关闭资源,因为 Statement和ResultSet是需要连接是才可以使用的,所以在使用结束之后有可能其他的 Statement还需要连接,所以不能先关闭Connection。
pstmt=conn.prepareStatement("insert into student values(?,?,? )");
pstmt.setString(1, “小明");
pstmt.setInt(2, 27);
pstmt.setFloat(3, 85);
pstmt.executeUpdate();
void setString (int parameterIndex, String x)
void setFloat (int parameterIndex, float x)
void setInt (int parameterIndex, int x)
void setDate (int parameterIndex, java.sql.Date x)
void setDouble (int parameterIndex, double x)
ResultSet executeQuery () //返回单结果集,通常用于SELECT语句
boolean execute () //返回布尔值,通常用于insert,update,delete语句
int executeUpdate () //返回操作影响的行数,通常用于insert,update,delete语句
try {
stmt = conn.createStatement(); conn.setAutoCommit(false);
String sql1 ="update account set balance = balance-1000 where aid=1"; String sql2 ="update account set balance = balance+1000 where aid=2"; stmt.executeUpdate(sql1);
stmt.executeUpdate(sql2); conn.commit();
} catch (SQLException e) { try {
conn.rollback();
} catch (SQLException e1) { e1.printStackTrace();
}
e.printStackTrace();
}