- 浏览: 324774 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
Mr丶Chenn:
...
doFilter如何使用 -
Mr丶Chenn:
[url][url][url][url][/url][/url ...
doFilter如何使用 -
Mr丶Chenn:
...
doFilter如何使用 -
Mr丶Chenn:
引用引用引用引用引用
doFilter如何使用 -
honlin:
SafeUtil.getDateFormat().trim() ...
DateUtil
1:建立dao
public abstract interface DAO
{
public abstract void setDataSource(DataSource paramDataSource);
public abstract DataSource getDataSource();
}
2:建立jdbcdao
public abstract class JdbcDAO
implements DAO, Serializable
{
protected DataSource dataSource;
protected JdbcTemplate jt;
public Object fetchObject(List list, int row, String fieldName)
{
int n = list.size();
if ((n < 1) || (row >= n))
return null;
Map map = (Map)list.get(row);
return ((map == null) ? null : map.get(fieldName));
}
// 返回值只有一行时,取得这一行中某个字段的值,由此jtqueryForList返回的list中每一个值都是一个map(字段,值)
public Object fetchObject(List list, String fieldName)
{
return fetchObject(list, 0, fieldName);
}
public DataSource getDataSource()
{
return this.dataSource;
}
public JdbcTemplate getJt()
{
return this.jt;
}
public void setDataSource(DataSource dataSource)
{
this.dataSource = dataSource;
this.jt = new JDBCTemplate(this.dataSource); //spring注入数据源的同事设置jdbcTemplate的值
}
}
3:使用jdbcTemplate
public class SettleTallyGateway extends JdbcDAO implements TallyGateway {
/** 利随本清扣收策略参数,由spring注入 */
private DischargePolicy dischargePolicy;
/** 是否为老结算 */
private boolean oldSettle;
DateHelper dateHelper = DateHelper.newInstance(true);
public SettleTallyGateway() {
}
public DischargePolicy getDischargePolicy() {
return dischargePolicy;
}
public void setDischargePolicy(DischargePolicy dischargePolicy) {
this.dischargePolicy = dischargePolicy;
}
public boolean isOldSettle() {
return oldSettle;
}
public void setOldSettle(boolean oldSettle) {
this.oldSettle = oldSettle;
}
public Double getAcntRval(String bz, String km, String no, Date edate) {
Double result = new Double(0);
StringBuffer sql = new StringBuffer("declare @Rval numeric(15,2) \n");
sql.append("execute Ns_St_GetRVal '").append(bz).append("','");
sql.append(km).append("','");
sql.append(no).append("',");
sql.append(dateHelper.enclose(edate)).append(",").append("@Rval OUTPUT,'0' \n");
sql.append("select @Rval as Rval");
try {
List list = jt.queryForList(new String(sql));
Object o = this.fetchObject(list, "Rval");
if (o instanceof Number) {
Number n = (Number) o;
result = new Double(n.toString());
}
} catch (DataAccessException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
return result;
}
private Account getAccount(String accountNo){
String sql = "select cnt.no as accountNo,cnt.kmh,cnt.bz,cnt.brno,cnt.quota as quota_ from cntacnt cnt where cnt.no='"+accountNo+"'";
List list = jt.query(sql, new RowMapper() {
public Object mapRow(ResultSet rs, int index) throws SQLException {
Account account = new Account();
account.setAccountNo(rs.getString("accountNo"));
account.setSubject(rs.getString("kmh"));
account.setBz(rs.getString("bz"));
account.setQuota(rs.getDouble("quota_"));
return account;
}
});
return list.size()==0?null:(Account)list.get(0);
}
/**
* @param key
* 属性Key
* @return 属性值
*/
public String getProperty(String key) {
String paramId = getParamId(key);
String sql = "select ParamVal from WFPar where ParamNo='" + paramId
+ "'";
try {
return (String) jt.queryForObject(sql, String.class);
} catch (DataAccessException e) {
return null;
}
}
/**
*
* @param sheetId
* @return
*/
public Date getSheetDate(Integer sheetId) {
String sql = "select ActDate from CntBuss where SheetId="
+ sheetId;
try {
String date = (String) jt.queryForObject(sql, String.class);
return TextFormat.parseDate(date);
} catch (DataAccessException e) {
return null;
}
}
/**
* @param key
* 属性Key
* @param value
* 属性值
* @return
*/
public void setProperty(String key, String value) {
String paramId = getParamId(key);
String where = "ParamNo='" + paramId + "'";
StringBuffer s = new StringBuffer();
s.append("if exists(select * from WFParam where ").append(where)
.append(") ").append("\n");
s.append(" update WFParam set ParamVal=").append(
TextFormat.enclose(value)).append(" where ").append(where)
.append("\n");
// 2007-12-17修改APPNO=fb1
s
.append(
"else insert into WfParam (ParamNo,AppNo,ParamName,ParamVal,ParamTxt,InpMode,ValList)")
.append("\n");
s.append(" values(").append(TextFormat.enclose(paramId))
.append(",'FB'").append(",'',").append(
TextFormat.enclose(value)).append(",'',0,'')");
jt.execute(s.toString());
}
}
4:spring如何配置
<bean id="gateway.tally" class="com.SettleTallyGateway">
<property name="dataSource"><ref local="dataSource.ECM"/></property>
<property name="dischargePolicy"><ref local="dischargePolicy"/></property>
</bean>
发表评论
-
ApplicationContextAware接口用法
2011-12-31 09:43 1100加载Spring配置文件时,如果Spring配置文件中所定义的 ... -
WebApplicationContext : org.springframework.web.context.ContextLoaderListener作用
2011-10-11 10:54 895如果您想要在自己所定义的Servlet类别中使用Spring的 ... -
Spring框架下获取Bean的几种方式
2011-10-11 09:50 1085写道 通过xml配置文件 bean配置在xml里面,spri ... -
Spring HttpInvoke远程调用服务
2011-07-05 16:12 3921Spring HttpInvoke实现和效率提升 2人 ... -
jdbcTemplate查询及返回值方法
2011-06-24 11:02 5099private RowMapper amnyMapper = ... -
Spring中的声明式事务的几种配置方式
2011-05-30 10:51 1168Spring中的声明式事务的 ... -
spring声明式事务管理
2011-05-26 14:31 930applicationContext.xml中配置 ... -
baseDao
2011-05-25 17:56 4674* Description: 支持hibernate,ibat ... -
TransactionProxyFactoryBean用继承简化配置
2011-05-23 15:04 2629Spring在TransactionDefinition接口中 ... -
在spring中管理多个job
2011-05-23 11:50 15271:spring配置文件 <bean id= ... -
spring的ContextLoaderListener
2011-05-19 11:27 247241:spring 参数配置 ContextLo ... -
MethodInvokingJobDetailFactoryBean的并发问题
2011-05-19 09:25 11628大家在使用quartz的时候,一般只设置了“targetObj ... -
spring定时任务
2011-04-27 15:55 1217Spring调度任务的运行时间可通过TriggerBean的属 ... -
spring中注入hibernate与ibatis结合使用
2011-04-27 14:58 37231: spring配置文件注入hibernate ... -
对spring与ibatis结合的补充
2011-04-27 13:33 996如果 sql-map-config.xml 是写在类中,需要从 ... -
spring与ibatis结合
2011-04-27 13:15 11731: dao 要继承 SqlMapClientDaoSu ... -
spring
2011-04-21 17:58 905<bean id="propertyConfi ...
相关推荐
在这个实例工程中,我们将深入探讨Spring JdbcTemplate的基本使用、优势以及常见操作。 一、Spring JdbcTemplate简介 Spring JdbcTemplate的出现是为了弥补原生JDBC在编码上的繁琐,它通过模板方法模式,将SQL执行...
使用Spring的JdbcTemplate实现分页功能
使用Spring的JdbcTemplate调用Oracle的存储过程
配制Spring事务和JdbcTemplate使用 配制Spring事务和JdbcTemplate使用
在本文中,我们将深入探讨Spring框架中的一个核心组件——JdbcTemplate。JdbcTemplate是Spring提供的一种数据库操作工具,它简化了数据库访问,使开发者能够编写出更健壮、更易于维护的代码,避免了手动处理JDBC连接...
SpringJdbcTemplate是Spring框架中用于简化Java数据库访问的工具,它是Spring JDBC模块的核心。这个封装工具类的出现是为了提供一种更简洁、易于使用的接口来执行SQL操作,减轻开发者处理数据库连接、事务管理以及...
在Spring JdbcTemplate中,回调机制体现在RowCallbackHandler和ResultSetExtractor接口上。开发者可以实现这些接口,定义回调函数来处理每个查询结果行或者整个结果集。这样,JdbcTemplate在执行SQL查询后,会调用...
在SQL语句中使用占位符(如`?`)可以防止SQL注入。JdbcTemplate提供`update`和`query`方法,接受`PreparedStatementSetter`或`SqlParameterSource`作为参数,用于设置占位符的值。 ```java public void ...
在 Spring 中使用 `JdbcTemplate` 需要以下几个步骤: 1. **配置数据源**:Spring 通过数据源(DataSource)与数据库建立连接。在这个例子中,我们将使用 c3p0 数据源。c3p0 是一个开源的 JDBC 连接池,它可以提供...
在Spring框架中,JdbcTemplate是用于简化数据库操作的重要组件,它提供了一种模板化的方式处理SQL,使得开发者能够更加安全、高效地与数据库交互。以下是对JdbcTemplate使用的一些详细说明: 1. **创建表和执行SQL...
Struts2、Spring和Spring JDBC Template是Java Web开发中常用的三个框架,它们分别负责不同的职责。Struts2作为MVC(Model-View-Controller)框架,主要处理前端请求和业务逻辑;Spring则是一个全面的后端框架,提供...
#### 在DAO中使用JdbcTemplate 在DAO层使用JdbcTemplate可以有两种方式: 1. **直接在DAO类中定义JdbcTemplate**: ```java public class AccountDao { private JdbcTemplate jdbcTemplate; public void ...
spring 中对大数据的处理,包括clob,blob的数据。比之jdbc下简便很多。
本教程将深入探讨如何使用基于注解的Spring JdbcTemplate进行数据库操作,特别适合初学者入门学习。 ### 1. Spring JdbcTemplate简介 Spring JdbcTemplate提供了一个面向对象的接口,用于执行SQL查询、更新和存储...
Struts、Spring 和 JDBCTemplate 是三个在 Java Web 开发中常用的框架和技术,它们结合使用可以构建出高效且灵活的企业级应用程序。在这个“Struts+Spring+JdbcTemplate Demo”中,我们将探讨这三个组件如何协同工作...
使用Spring的JdbcTemplate和BeanPropertyRowMapper完成的JDBC我的实例 博文链接:https://zmx.iteye.com/blog/373454
### Spring-JdbcTemplate...总之,Spring-JdbcTemplate通过其简洁的API和强大的功能,极大地简化了JDBC编程,是Spring框架中不可或缺的一部分,对于Java后端开发人员来说,掌握其使用方法是提升数据库操作效率的关键。
在本教程中,我们将深入探讨如何在Spring Boot项目中配置和使用多数据源以及JdbcTemplate。 首先,让我们了解什么是`JdbcTemplate`。它是Spring提供的一种模板类,用于执行SQL语句,通过回调机制将结果转换为Java...
本文将深入探讨Spring JdbcTemplate的常用方法,并结合提供的`JsonBean.java`和`JdbcUtils.java`文件,来理解其在实际应用中的使用。 首先,JdbcTemplate的核心功能在于它提供了一系列的方法来执行SQL语句,包括...