您的位置:首页 > 编程语言 > Java开发

Java知识整理(十四)之JDBC

2015-09-19 10:22 387 查看
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