spring jdbctemplate c3p0 怎么释放数据库

spring jdbctemplate c3p0 怎么释放数据库,第1张

现在许多项目都采用hibernateTemplate和JDBCTemplate混用的方式

HibernateTemplate一般是为了加快开发效率,还有就是使用Hibernate的时候,更简洁,更便利,而统一的声明事务,又让本来就已经很简洁的Hibernate对事务的处理,大大简化

但任何事务都有两面性,在带来大量便捷的同时,Hibernate也给我们留下了一点小小的遗憾,比如众所周知的,在处理大批量数据查询的时候,Hibernate的查询效率,是不尽人意的,有人做过测试,在高并发查询的时候,hibernate的查询效率,仅仅相当于使用jdbc效率7成左右,这对于对速度有着很高要求的互联网应用来说,不能不说是悲剧。

Hibernate在做批量 *** 作时,效率不是很理想。所以现在采用JDBCTemplate和Hibernate混用,这时有几个注意事项.

1.如果采用JDBCTemplate的部分只涉及到查询,则可以使用Hibernate的应用缓存,即二级缓存。

2.如果采用JDBCTemplate的部分涉及到对数据库的更新 *** 作,即增,删,改.则不能开启Hibernate的二级缓存,如果系统有缓存的需要,我觉得可以自己在逻辑层实现缓存.Java的缓存方案还是很多的。

3.在使用Spring做为容器的系统中,混用JDBCTemplate和Hibernate,事务管理请统一使用HibernateTransactionManager,前提是JDBCTemplate和Hibernate共用一个DataSource.

spring中提供了 一个spring-jdbc,就是对jdbc的使用简化和扩展,增加一些开发效率。如果要了解更详细,可以搜索spring-jdbc使用详情。

具体spring-jdbc使用前,要导入相应的jar包,在applicationContext.xml中配置dataSource和jdbcTemplate就可以使用它了。

添删查改 *** 作:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

public void add(User user){

jdbcTemplate.update("INSERT INTO USER VALUES('"

+ user.getId() + "', '"

+ user.getName() + "', '"

+ user.getSex() + "', '"

+ user.getAge() + "')")

}

public void edit(User user){

jdbcTemplate.update("UPDATE USER SET name = ? WHERE user_id = ?", new Object[] {name, id})

}

public int queryCount(){

int count = jdbcTemplate.queryForInt("SELECT COUNT(*) FROM USER")

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9975025.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存