spring下使用jdbc-1
JdbcTemplate:
- 为了使jdbc更加易于使用,Spring在jdbc api上定义了一个抽象层,以此建立一个jdbc存取框架
- 作为spring jdbc框架的核心,jdbc模版的涉及目的是为不同类型的jdbc操作提供模版方法,每个模版方法都能控制整个过程,并允许覆盖过程中的特定任务,通过这种方式可以在尽可能宝库活性的情况下,将数据库存取的工作量降到最低
spring下jdbc操作
*建立一个spring 项目,首先测试能否通过jdbc与数据库进行连接 *
- 加入相关jar包,除spring相关包外,还有mysql的连接包以及c3p0的jar包
- 在数据库中创建employees表,并创建相关字段
- new 一个xml文件,分别创建datesource和jdbcTemplate的bean来获取数据源以及jdbcTemplate的配置
- new junit class,通过以下代码测试能否成功连接
public void testDataSource() throws SQLException {
DataSource dataSource = ctx.getBean(DataSource.class);
System.out.println(dataSource.getConnection()); }
}
首先创一个jdbcTemplate
private JdbcTemplate jdbcTemplate;
{
ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
jdbcTemplate = (JdbcTemplate) ctx.getBean("jdbcTemplate");
}
使用jdbcTemplate更新数据库
- update
@Test
public void testUpdate(){
String sql = "UPDATE employees set last_name = ? where id = ?"
jdbcTemplate.update(sql,"day",2);
}
- batchupdate批量更新
@Test
public void testBatchUpdate()
{
String sql ="INSERT INTO employees(last_name,email,dept_id)"
+ " values(?,?,?)";
List<Object[]> batchArgs = new ArrayList<>();
batchArgs.add(new Object[] {"Ab", "aa@atguigu.com", 1});
batchArgs.add(new Object[] {"Adc", "adc@atguigu.com", 2});
jdbcTemplate.batchUpdate(sql,batchArgs);
}