菜鸟的博客

纵有疾风起,人生不言弃。

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

JDBC API详解

复制代码
//DriverManage
//1.注册驱动
//2.获取数据库连接
    
//Connection
//1.获取执行SQL的对象
Statement createStatement();//普通执行sql对象
PrepareStatement prepareStatement(sql);
//预编译sql的执行sql对象:防止sql注入
CallableStatement prepareCall(sql);//执行存储过程的对象

//2.管理事务
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCdemo {
    public static void main(String[] args) throws Exception {
        //1.注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");

        //2.获取连接
        String url = "jdbc:mysql://127.0.0.1:3306/db1";
        String username = "root";
        String password = "1234";
        Connection conn = DriverManager.getConnection(url,username,password);

        //3.定义sql
        String sql1 = "update account set money = 1000 where id = 1";
        String sql2 = "update account set money = 1000 where id = 2";


        //4.获取执行sql的对象Statement
        Statement stmt = conn.createStatement();


        try {//开启事务
            conn.setAutoCommit(false);

            //5.执行sql
            int count1 = stmt.executeUpdate(sql1);
            //int i = 3/0;
            int count2 = stmt.executeUpdate(sql2);


            //count为受影响的行数

            //6.处理结果
            System.out.println("受影响行数:"+(count1+count2));

            //提交事务
            conn.commit();
        } catch (Exception e) {
            conn.rollback();//回滚事务
            throw new RuntimeException(e);
        }

        //7.释放资源
        stmt.close();
        conn.close();

    }

}
复制代码

 

posted on   hhmzd233  阅读(14)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示