JDBC(Java Datebase Connectivity)
JDBC工作过程:
加载驱动,简历连接;创建语句对象;执行SQL语句;处理结果集;关闭连接
1.Class.forName("oracle.jdbc.driver.OracleDriver");
2.Connection conn = null; conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.23:1521:tarena","hdsd0702","hdsd0702");
3.Statement state = conn.createStatement();
// String sql = "insert into userinfo (id,uasename,password,email,account)values (emp.nextval,?,?,?,?)"; PreparedStatement 是 Statement的子类
// PreparedStatement ps = conn.prepareStatement(sql);ps.setString(1,"test");ps.executeUpdate(); (主要用于所有的SQL语句)
4.ResultSet rs = state.executeQuery(sql); sql为String类型,是SQL语句
while(rs.next()){
String name = rs.getString("name");
int id = rs.getInt("id");
} //获取结果集元素
ResultSetMetaData rsmd=rs.getMetadata(); 获取结果集元数据
int count = rsmd.getColumnCount();
for(int i=1;i<=count;i++){
colName=rsmd.getColumnName(i); 获取的字段
String str = rs.getString(colName); 由获取的字段得到结果集数据
}
Statement的方法:
ResultSet executeQuery(String sql); 该方法专门用来执行DQL语句,返回的ResultSet表示查询出来的结果集(主要用于select)
int executeUpdate(String sql); 该方法专门用来执行DML语句,返回的ResultSet表示查询出来的结果集(主要用于insert,delete,update)
boolean execute(String sql); 通常用来执行DDL,存在结果集,则返回true(主要用于create/drop/alter)
事务:操作在Connection中,默认为自动提交事务
conn.setAutoCommit(flase);将自动提交关闭(事务)
conn.commit();提交事务; conn.rollback();回滚事务,已提交的不能rollback
state.addBatch(sql); 将SQL添加到批中,等待一起发送,提高网络效率,一般只执行DML操作,返回值为int影响了几条数据
JDBC工作过程:
加载驱动,简历连接;创建语句对象;执行SQL语句;处理结果集;关闭连接
1.Class.forName("oracle.jdbc.driver.OracleDriver");
2.Connection conn = null; conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.23:1521:tarena","hdsd0702","hdsd0702");
3.Statement state = conn.createStatement();
// String sql = "insert into userinfo (id,uasename,password,email,account)values (emp.nextval,?,?,?,?)"; PreparedStatement 是 Statement的子类
// PreparedStatement ps = conn.prepareStatement(sql);ps.setString(1,"test");ps.executeUpdate(); (主要用于所有的SQL语句)
4.ResultSet rs = state.executeQuery(sql); sql为String类型,是SQL语句
while(rs.next()){
String name = rs.getString("name");
int id = rs.getInt("id");
} //获取结果集元素
ResultSetMetaData rsmd=rs.getMetadata(); 获取结果集元数据
int count = rsmd.getColumnCount();
for(int i=1;i<=count;i++){
colName=rsmd.getColumnName(i); 获取的字段
String str = rs.getString(colName); 由获取的字段得到结果集数据
}
Statement的方法:
ResultSet executeQuery(String sql); 该方法专门用来执行DQL语句,返回的ResultSet表示查询出来的结果集(主要用于select)
int executeUpdate(String sql); 该方法专门用来执行DML语句,返回的ResultSet表示查询出来的结果集(主要用于insert,delete,update)
boolean execute(String sql); 通常用来执行DDL,存在结果集,则返回true(主要用于create/drop/alter)
事务:操作在Connection中,默认为自动提交事务
conn.setAutoCommit(flase);将自动提交关闭(事务)
conn.commit();提交事务; conn.rollback();回滚事务,已提交的不能rollback
state.addBatch(sql); 将SQL添加到批中,等待一起发送,提高网络效率,一般只执行DML操作,返回值为int影响了几条数据