JdbcTemplate是线程安全的吗

 我来答
出家人词悲
高赞答主

2016-03-19 · 大脑停止不了思考
知道大有可为答主
回答量:1.4万
采纳率:12%
帮助的人:3936万
展开全部
Spring通过抽象JDBC访问并提供一致的API来简化JDBC编程的工作量。我们只需要声明SQL、调用合适的Spring JDBC框架API、处理结果集即可。事务由Spring管理,并将JDBC受查异常转换为Spring一致的非受查异常,从而简化开发。

Java代码
....
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = getConnection(); //1.获取JDBC连接
String sql = "select * from tableName"; //2.声明SQL
pstmt = conn.prepareStatement(sql); //3.预编译SQL
ResultSet rs = pstmt.executeQuery(); //4.执行SQL
process(rs); //5.处理结果集
closeResultSet(rs); //5.释放结果集
closeStatement(pstmt); //6.释放Statement
conn.commit(); //8.提交事务
} catch (Exception e) {
//9.处理异常并回滚事务
conn.rollback();
throw e;
} finally {
//10.释放JDBC连接,防止JDBC连接不关闭造成的内存泄漏
closeConnection(conn);
}
....

以上代码片段具有冗长、重复、容易忘记某一步骤从而导致出错、显示控制事务、显示处理受检查异常等等。
Spring主要提供JDBC模板方式、关系数据库对象化方式和SimpleJdbc方式三种方式来简化JDBC编程,这三种方式就是Spring JDBC的工作模式:
Spring JDBC抽象框架core包提供了JDBC模板类,其中JdbcTemplate是core包的核心类,所以其他模板类都是基于它封装完成的,JDBC模板类是第一种工作模式。

JdbcTemplate类通过模板设计模式帮助我们消除了冗长的代码,只做需要做的事情(即可变部分),并且帮我们做哪些固定部分,如连接的创建及关闭。
浙江启扬智能科技有限公司
2023-06-12 广告
Android和ARM、Linux之间存在密切的联系。Android是一种基于Linux内核的嵌入式智能操作系统,它采用了ARM处理器作为其主要处理器架构。Android的内核和许多应用程序都是基于ARM架构编写的,包括处理器和内存管理器。... 点击进入详情页
本回答由浙江启扬智能科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式