当前位置:网站首页>一个可以兼容各种数据库事务的使用范例
一个可以兼容各种数据库事务的使用范例
2022-07-05 10:12:00 【全栈程序员站长】
传入实体执行(可添加 修改 删除)事务。
IDbHelper dbHelper = new OracleHelper(ConfigHelper.GetConfigString("BusinessDbConnection"));
bool result = true;
try
{
dbHelper.BeginTransaction();
//主表
TE_AREAManager manager = new TE_AREAManager(dbHelper, userInfo);
TE_AREAEntity tE_AREAEntity = manager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID));
manager.Delete(tE_AREAEntity);
//子表
TE_AREA_SUBManager submanager = new TE_AREA_SUBManager(dbHelper, userInfo);
TE_AREA_SUBEntity tE_AREA_SUBEntity = submanager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID));
submanager.Delete(tE_AREA_SUBEntity);
//事务提交
dbHelper.CommitTransaction();
}
catch(Exception ex)
{
//事务回滚
dbHelper.RollbackTransaction();
result=false;
}
可以传入sql语句执行事务
IDbHelper dbHelper = new OracleHelper(ConfigHelper.GetConfigString("BusinessDbConnection"));
bool result = true;
try
{
dbHelper.BeginTransaction();
string commandText = " DELETE FROM TE_AREA WHERE ID=" + dbHelper.SqlSafe(id);
dbHelper.ExecuteNonQuery(sqlString);
commandText = " DELETE FROM TE_AREA_SUB WHERE ID=" + dbHelper.SqlSafe(id);
dbHelper.ExecuteNonQuery(commandText);
dbHelper.CommitTransaction();
}
catch(Exception ex)
{
dbHelper.RollbackTransaction();
result=false;
}
还可以同时传入实体,SQL语句
IDbHelper dbHelper = new OracleHelper(ConfigHelper.GetConfigString("BusinessDbConnection"));
bool result = true;
try
{
dbHelper.BeginTransaction();
//主表
TE_AREAManager manager = new TE_AREAManager(dbHelper, userInfo);
TE_AREAEntity tE_AREAEntity = manager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID));
manager.Delete(tE_AREAEntity);
//子表
TE_AREA_SUBManager submanager = new TE_AREA_SUBManager(dbHelper, userInfo);
TE_AREA_SUBEntity tE_AREA_SUBEntity = submanager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID));
submanager.Delete(tE_AREA_SUBEntity);
//执行SQL语句
string commandText = " DELETE FROM JINTIANDA WHERE ID=" + dbHelper.SqlSafe(id);
dbHelper.ExecuteNonQuery(commandText);
//事务提交
dbHelper.CommitTransaction();
}
catch(Exception ex)
{
//事务回滚
dbHelper.RollbackTransaction();
result=false;
}
以上事务处理方法是基于吉日嘎拉通用权限管理组件底层的代码上实现的,dbHelper,兼容各种数据库事务处理,非常省心省事。
欢迎大家提供自己的使用经验,共同提高开发效率。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/109843.html原文链接:https://javaforall.cn
边栏推荐
- ConstraintLayout官方提供圆角ImageFilterView
- Tianlong Babu TLBB series - about items dropped from packages
- Learning notes 5 - high precision map solution
- Tianlong Babu TLBB series - single skill group injury
- Today in history: the first e-book came out; The inventor of magnetic stripe card was born; The pioneer of handheld computer was born
- MySQL digital type learning notes
- 非技术部门,如何参与 DevOps?
- [tips] get the x-axis and y-axis values of cdfplot function in MATLAB
- 重磅:国产IDE发布,由阿里研发,完全开源!
- 微信小程序触底加载与下拉刷新的实现
猜你喜欢
Timed disappearance pop-up
Cerebral cortex: directed brain connection recognition widespread functional network abnormalities in Parkinson's disease
【观察】跨境电商“独立站”模式崛起,如何抓住下一个红利爆发时代?
[system design] index monitoring and alarm system
Workmanager Learning one
WorkManager学习一
Uni app running to wechat development tool cannot Preview
ByteDance Interviewer: how to calculate the memory size occupied by a picture
How to write high-quality code?
Design and Simulation of fuzzy PID control system for liquid level of double tank (matlab/simulink)
随机推荐
Tianlong Babu TLBB series - about items dropped from packages
What is the most suitable book for programmers to engage in open source?
SQL Server 监控统计阻塞脚本信息
TypeError: Cannot read properties of undefined (reading ‘cancelToken‘)
LiveData 面试题库、解答---LiveData 面试 7 连问~
ByteDance Interviewer: how to calculate the memory size occupied by a picture
Learning notes 5 - high precision map solution
C语言实现QQ聊天室小项目 [完整源码]
橫向滾動的RecycleView一屏顯示五個半,低於五個平均分布
Swift saves an array of class objects with userdefaults and nssecurecoding
@JsonAdapter注解使用
Usage differences between isempty and isblank
[论文阅读] KGAT: Knowledge Graph Attention Network for Recommendation
非技術部門,如何參與 DevOps?
uniapp + uniCloud+unipay 实现微信小程序支付功能
【小技巧】获取matlab中cdfplot函数的x轴,y轴的数值
学习笔记6--卫星定位技术(上)
pytorch输出tensor张量时有省略号的解决方案(将tensor完整输出)
@Serializedname annotation use
驱动制造业产业升级新思路的领域知识网络,什么来头?