jdbcdaosupport.java_spring使用jdbcTemplate和jdbcdaosupport和namedparameter

jdbcTemplate:

首先连接数据库

外部配置

driverClass=oracle.jdbc.OracleDriver

jdbcUrl=jdbc:oracle:thin:@192.168.1.105:1521:orcl

user=ems

password=123456

注意写URL的时候写本机的IP,写localhost的时候在Oracle数据库中服务的配置要写localhost

gd4Wn2rCJrCJQAAAABJRU5ErkJggg==

AJUHwAAAPALUH0AAADAL0D1AQAAAL8A1QcAAAD8wv8HOQZbA01xdL0AAAAASUVORK5CYII=修改

连接测试的代码

public classJDBCTest {private ApplicationContext ctx=null;privateJdbcTemplate jdbcTemplate;

{

ctx=new ClassPathXmlApplicationContext("applicationContext.xml");

jdbcTemplate=(JdbcTemplate) ctx.getBean("jdbcTemplate");

}

@Test//测试连接

public void testDataSource() throwsSQLException{

DataSource dataSource=ctx.getBean(DataSource.class);

System.out.println(dataSource.getConnection());

}

}

jdbcTemplate支持的五种方法:

execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;

update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;

query方法及queryForXXX方法:用于执行查询相关语句;

call方法:用于执行存储过程、函数相关语句。

在xml中配置jdbcTemplate

使用:

packagecom.spring.jdbc;importjava.sql.SQLException;importjavax.sql.DataSource;importorg.junit.Test;importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.ClassPathXmlApplicationContext;importorg.springframework.jdbc.core.JdbcTemplate;public classJDBCTest {private ApplicationContext ctx=null;privateJdbcTemplate jdbcTemplate;

{

ctx=new ClassPathXmlApplicationContext("applicationContext.xml");

jdbcTemplate=(JdbcTemplate) ctx.getBean("jdbcTemplate");

}

@Test//测试连接

public void testDataSource() throwsSQLException{

DataSource dataSource=ctx.getBean(DataSource.class);

System.out.println(dataSource.getConnection());

}

@Testpublic voidtestUpdate(){

String sql="update employees set last_name=? where id=?";

jdbcTemplate.update(sql,"Jack",2);

}

}

批量修改:

//批量修改

@Testpublic voidtestBatchUpdate(){

String sql="insert into employees(last_name,deptid) values(?,?)";

List batchArgs=new ArrayList();

batchArgs.add(new Object[]{"AA",1});

batchArgs.add(new Object[]{"BB",2});

jdbcTemplate.batchUpdate(sql,batchArgs);

}

NamedParameterJdbcTemplate:具名参数,该对象可以使用具名参数

配置bean

Java测试:

packagecom.spring.jdbc;importjava.sql.SQLException;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjavax.sql.DataSource;importorg.junit.Test;importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.ClassPathXmlApplicationContext;importorg.springframework.jdbc.core.JdbcTemplate;importorg.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;public classJDBCTest {private ApplicationContext ctx=null;privateNamedParameterJdbcTemplate namedParameterJdbcTemplate;

{

ctx=new ClassPathXmlApplicationContext("applicationContext.xml");

namedParameterJdbcTemplate=ctx.getBean(NamedParameterJdbcTemplate.class);

}

@Testpublic voidtestNamedParameterJdbcTemplate(){

String sql="insert into employees(id,last_name,email,deptid) values(:a,:ln,:email,:id)";

Map paramMap=new HashMap();

paramMap.put("a", 3);

paramMap.put("ln", "FF");

paramMap.put("email", "3@qq.com");

paramMap.put("id", 2);

namedParameterJdbcTemplate.update(sql, paramMap);

}

}

改进:

public void testNamedParameterJdbcTemplate2(){

String sql="insert into employees(id,last_name,email,deptid) values(:id,:lastname,:email,:deptid)";

Employees employee=new Employees();

employee.setLastName("haha");

employee.setEmail("4@qq.com");

employee.setDeptId(5);

SqlParameterSource parameterSource=new BeanPropertySqlParameterSource(employee);

namedParameterJdbcTemplate.update(sql, parameterSource);

}

参数名就是对象的 属性。然后直接传入属性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值