یک برنامهٔ جاوا بنویسید که با استفاده از JDBC یک تراکنش برای انتقال وجه بین دو حساب در یک پایگاهداده انجام دهد و در صورت بروز هر گونه خطا تراکنش را rollback کند.
7.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:18 0.0
با استفاده از JDBC (مثلاً در ترکیب با MySQL یا H2) اتصال به پایگاهداده را برقرار کنید، auto-commit را غیرفعال کنید (setAutoCommit(false))، سپس دو دستور PreparedStatement برای کسر از حساب فرستنده و اضافه به حساب گیرنده اجرا کنید؛ اگر هر یک از دستورات با مشکل مواجه شد یا تعداد ردیفهای تأثیرگذار غیرمنتظره بود، از rollback() استفاده کنید و در غیر این صورت commit() را فراخوانی کنید. از try-with-resources برای بستن منابع، گرفتن SQLException برای rollback و در صورت نیاز استفاده از Savepoint برای بازگردانی جزئی کمک بگیرید؛ بررسی کنید موجودی کافی است و تعداد ردیفهای بهروزرسانیشده را کنترل کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای انتقال وجه بهطور اتمی از JDBC استفاده کنید: auto-commit را خاموش کرده و دو UPDATE با PreparedStatement در یک تراکنش اجرا کنید، و در هر استثنا تراکنش را rollback کنید. میتوانید از Savepoint برای بازگردانی جزئی یا مدیریت خطاهای پیچیدهتر بهره ببرید. همچنین بررسی کنید که موجودی فرستنده کافی است و تعداد ردیفهای بهروزرسانیشده برابر با ۱ باشد؛ در غیر این صورت تراکنش را rollback کنید. از بلوک try-with-resources استفاده کنید تا منابع بهدرستی بسته شوند و خطاهای SQLException مدیریت شوند.
گزارش