JDBC Template
一.简化持久化操纵,Spring在JDBC API之上提供了JDBC Template组件
传统:
JDBC Template:
/*JDBC Template提供统一的模板方法,在保留代码灵活性的基础上尽量减少持久化代码*/
/*jabc api*/
Statement statement=conn.createStatement();
ResultSet resultSet=statement.executeQuery("select count(*) COUNT form student");
if(resultSet.next){
Integer count =resultSet.getInt("COUNT");
}
/*JDBC Template*/
Integer count=jt.queryFoeObject("select count(*) COUNT form student",Inter.class);
二.JDBC配置:
- Maven:依赖
- mysql驱动
- Spring组件(core、beans、context、aop)
- JDBC Template(jdbc,tx)
- Spring配置
- 数据源
- JDBC Template
/* XML配置spring.xml */
/* 数据源*/
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="username" value="root"></property>
<property name="password" value="密码"></property>
<property name="url" value="jdbc:mysql://localhost:3306/newtest"></property>
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
</bean>
/*工具类*/
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>
三.JDBC Templetate基本使用
-
execute方法
-
update与batchUpdate方法
-
query与queryXXX方法
-
call方法
public class Test{
@Test
private JdbcTemplate jdbcTemplate;
{
ApplicationContext context=new ClassPathXmlApplicationContext("spring.xml");
JdbcTemplate jdbcTemplate=(JdbcTemlate)context.getBean("jdbcTemplate");
}
@Test
public void testExecute(){
jdbcTemplate.execute("create table user(id int, name varchar(20))");
}
@Test
public void testUpdate1(){
String sql="insert into student(name,sex)value(?,?)";
jdbcTemplate.update(sql,new Object[]{
"张三","男"})
}
@Test
public void testUpdate2(){
String sql="update student set sex=? where id=?";
jdbcTemplate.update(sql,"女","1003") //参数自定不需要封装成object数组类型
}
/* 批量*/