Spring的jdbc模板1

时间:2021-08-15 09:44:49

Spring是EE开发的一站式框架,有EE开发的每一层解决方案。Spring对持久层也提供了解决方案:ORM模块和jdbc模块,ORM模块在整合其他框架的时候使用

Spring提供了很多的模板用于简化开发:

Spring的jdbc模板1

1.创建项目,引入jar包

基本的六个开发包,数据库驱动包,Spring的jdbc模板的jar包,整合junit4测试的jar包,以及aop开发的jar包(在IOC的注解开发者,spring4.x版本要引入aop的jar包)

Spring的jdbc模板1

2.创建数据库和表

数据库test,表student

Spring的jdbc模板13.使用jdbc模板保存数据

package zcc.spring_jdbc.demo1;
/*
* Spring的jdbc模板的一个简单使用
*/ import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource; public class SpringDemo1 { @Test
public void demo1() {
//这样写每次都要创建连接池和jdbc模板,我们可以将连接池和模板交给spring管理
//创建连接池
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3307/test");
dataSource.setUsername("root");
dataSource.setPassword("123456");
//创建jdbc模板
//JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
JdbcTemplate jdbcTemplate = new JdbcTemplate();
jdbcTemplate.setDataSource(dataSource);
jdbcTemplate.update("insert into student values(?,?,?)", 31,"李二","男"); }
}

可以发现,这种方式每次都创建连接池和jdbc模板,所以我们将连接池和jdbc模板交给spring管理,这样只需要new一次

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd"> <!-- 配置Spring内置连接池 ===-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!-- 有set方法,属性注入 -->
<property name="DriverClassName" value="com.mysql.jdbc.Driver"/>
<property name="Url" value="jdbc:mysql://localhost:3307/test"/>
<property name="Username" value="root"/>
<property name="Password" value="123456"/>
</bean>
<!-- 配置Spring的JDBC模版 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>
</beans>

测试类如下

package com.ithheima.jdbc.demo1;

import javax.annotation.Resource;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext5.xml")
public class JdbcDemo2 {
@Resource(name="jdbcTemplate")
private JdbcTemplate jdbcTemplate;
@Test
public void demo2(){
jdbcTemplate.update("insert into student values(?,?,?)", 8, "周司", "男");
}
}