在Spring中使用JDBC
在我们传统的JDBC中,操作数据库会有大量的异常处理语句和手动关闭资源语句,这使得我们的如果只是插入一条数据,就会产生大量的catch块,这些都是我们写的要呕吐的语句。在Spring中,我们使用模板和回调,能够很好的解决这个问题,Spring模板处理数据访问固定的部分,例如事务控制、管理资源以及异常处理,而回调就是我们用户自定义的数据访问的代码。这样就使得我们只需要关心数据操作部分,事务控制等交给Spring自动管理,极大的简化了工作量。Spring针对不同的平台提供了不同的模板,例如JDBC模板、Hibernate模板,针对不同的模板又提供了不同的数据操作类。
不管使用哪一种模板,都必须配置数据源。
例如:JDBC数据源+MySQL数据库
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver "> </property>
<property name="url" value="jdbc:mysql://localhost:3306/dataBase"> </property>
<property name="username" value="root"></property>
<property name="password" value=""></property>
</bean>
那么在解析XML文件时,就会自动创建数据库连接,其中的dataSource可以选择DriverManagerDataSource或SingleConnectionDataSource,它们的区别在于前者可以同时有多个连接,而后者同时只能个连接,因此后者不支持多线程访问。
JDBC模板
JDBC模板有JdbcTemplate、SimpleJdbcTemplate、NamedParameterJdbcTemplate,这些模板主要通过在XML中配置完成。例如:
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">
<constructor-arg ref="dataSource"></constructor-arg>
</bean>
JDBC操作类(支持类)
JdbcTemplate、SimpleJdbcTemplate、NamedParameterJdbcTemplate主要就是这三个类,那么我们就可以通过getBean("jdbcTemplate",SimpleJdbcTemplate.class);
获得操作类,