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("--------------------");
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!