Connection 是建立连接的api 他有两个功能:
一是:建立和数据库的连接:Connection conn = DriverManager.getConnection(url,root,password);
二是:管理事务,就是在java中把多条sql语句当成事务来处理,所以涉及到事物的开启,提交和回滚。事务开启,在sql语句之前,开启事务:conn.SetAutoCommit(flase);
提交事务:conn.commit();
事务回滚:conn.rollback();
因为事务回滚,是语句出现异常时才执行,所以建议放在try - catch当中的catch语句块中。
try {
//开启事务 conn.setAutoCommit(false);
int count1=stmt.executeUpdate(sql1);
System.out.println(count1);
int count2 =stmt.executeUpdate(sql2);
System.out.println(count2);
//提价事务
conn.commit();
} catch (Exception throwables) {
//回滚事务
conn.rollback();
throwables.printStackTrace();
}
Statement 功能是执行sql语句,其中有两个不同的分类,一类为:DDL(对数据库),DML(对表),第二类:DQL(数据查询)
先创建Statement对象 Statement stat= conn.creatStatment();
第一类就是 调用executeUpdate方法,结果count是记录影响了几行,所以用int
int count=stat.executeUpdate(sql);
第二类:调用executeQuery方法,但是返回的结果是一个ResultSet类型,所以要用ResultSet 先定一个变量
ResultSet rs = stat.executeQuery(sql);
得到rs,然后再遍历rs即可得到查询的结果
String sql = "Select * from account";
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery(sql);
//遍历rs,输出结果
while (rs.next()){
int id = rs.getInt(1);
String name = rs.getString(2);
double money = rs.getDouble(3);
System.out.println(id);
System.out.println(name);
System.out.println(money);
System.out.println("--------------------");
}
标签:JDBC,rs,Connection,API,Statement,sql,println,conn,out From: https://www.cnblogs.com/y-258/p/16830574.html