JDBC 的API之 Connection 和 Statement

  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("--------------------");
}




















posted @   索隆111  阅读(322)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示