Spring的JDBC模块负责数据库资源管理和错误处理,大大简化了开发人员对数据库的操作
针对数据库操作,Spring提功了JdbcTemplate类,该类是整个Spring JDBC的核心类
在Jdbc Template类中,提供了大量更新和查询数据库的方法,我么可以使用这些方法来操作数据库,接下来我们就来介绍几个常用的方法
execute()方法
此方法可以直接用来执行SQL语句,下面就以创建数据表的Sql语句为例,演示一下execute方法的使用
1、在MySql中创建一个名为Spring的数据库,创建方式如下所示:
通过上面的代码我wei们能够看出来,首先通过SQL语句创建了数据库spring,然后查看数据库中的表格发现为空
2、在eclipse中创建一个名为chapter04的web项目,将运行Spring框架所需的五个基础jar包,以及MySQL数据包,Spring JDBC的jar包,以及Spring的事物处理JAR包复制到项目的lib目录下,并发布到路径中,如下图所示:
3、在src目录下,创建配置文件applicationContext.xml,在该文件中配置id为datasource的数据源Bean和id为jdbcTemplate的JDBC模版Bean,并将数据源注入到JDBC模版中,代码如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
<!-- 1.配置数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DataSourceTransactionManager.class">
<!-- 数据库驱动 -->
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<!-- 连接数据库的url -->
<property name="url" value="jdbc:mysql://localhost/spring" />
<!-- 连接数据库的用户名 -->
<property name="username" value="root" />
<!-- 连接数据库的用户密码 -->
<property name="password" value="itcast" />
</bean>
<!-- 配置JDBC模板 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<!-- 默认使用数据源 -->
<property name="dataSource" ref="dataSource" />
</bean>
</beans>
4、在src目录下创建一个com.itheima.jdbc包,在该包中创建测试类JdbcTemplateTest实例,在该实例中的main方法中通过Spring容器获取在配置文件中定义的JdbcTemplate实例然后使用该实例的execute(String sql)方法执行创建数据表的SQL语句,代码如下所示:
package com.itheima.jdbc;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;
public class JdbcTemplateTest {
public static void main(String[] args) {
ApplicationContext lizi = new ClassPathXmlApplicationContext("applicationContext.xml");
JdbcTemplate jdbcTemplate = (JdbcTemplate)lizi.getBean("jdbcTemplate");
jdbcTemplate.execute("create table accont( id int primary key auto_increment,username varchar(50),balance double )");
System.out.println("创建成功了");
}
}
运行一下,结果如下:
5、然后再次查询spring数据库,其结果如下图所示:
从结果来看我们可以得知程序使用execute(String SQL)方法执行之后确实创建了数据表account。