下面的代码是实现了根据对象的id来更新改对象的信息。
1、在serviceImpl.java中写如下代码实现
public class ConGoodsServiceImpl extends HibernateServiceSupport implements ConGoodsService{
private JdbcTemplate jdbcTemplate;
public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public void updateOutput(ConGoods conGoods) throws Exception{
jdbcTemplate.update("UPDATE ast_consumables_goods SET inid = ? , outid = ? , goodsname = ? , unit = ? , goodsstyle = ? , goodsnumber = ? , unitprice = ? , amount = ? , productdate = ? , brand = ? WHERE id = ?", new Object[] {conGoods.getInid(),conGoods.getOutid(),conGoods.getGoodsname(),conGoods.getUnit(),conGoods.getGoodsstyle(),conGoods.getGoodsnumber(),conGoods.getUnitprice(),conGoods.getAmount(),conGoods.getProductdate(),conGoods.getBrand(),conGoods.getId()});
}
//其实jdbcTemplate.update(中是一条SQL语句)。在w3cschool中可以看到sql的基本操作
}
2、在applicationContext.xml中添加如下配置
<bean id="conGoodsTarget" class="com.kingee.ast.consumables.service.impl.ConGoodsServiceImpl">
<property name="hibernateTemplate" ref="astHibernateTemplate"></property>
//引入jdbctemplate
<property name="jdbcTemplate" ref="astJdbcTemplate"></property>
</bean>
<bean id="conGoodsService" parent="conGoodsTarget" ></bean>
3、在后台中调用updateOutput()就可以实现
ConGoods conGoods = new ConGoods();
conGoods.setOutid(uuid);
conGoods.setInid(jo.getString("inid"));
conGoods.setId(jo.getString("id"));
conGoods.setGoodsname(jo.getString("goodsname"));
conGoods.setUnit(jo.getString("unit"));
conGoods.setGoodsstyle(jo.getString("goodsstyle"));
conGoods.setGoodsnumber(jo.getString("goodsnumber"));
conGoodsService.updateOutput(conGoods);
JdbcTemplate将我们使用的JDBC的流程封装起来,包括了异常的捕捉、SQL的执行、查询结果的转换等等。spring大量使用Template Method模式来封装固定流程的动作,XXXTemplate等类别都是基于这种方式的实现。
分享到:
相关推荐
- 添加数据:调用JdbcTemplate对象的update方法,传入SQL语句和可变参数(值数组)。 - 删除和修改数据:同样通过update方法,传入相应的SQL语句和参数。 2. 执行查询操作: - 查询返回某个值(如计数或总和)...
在描述中提到的“规范model格式接口”,可能是指创建一套标准的数据访问接口,这些接口定义了CRUD(Create、Read、Update、Delete)操作,并由SpringJdbcTemplate实现具体的数据库交互逻辑。这样做的好处是解耦了...
4. **执行查询**:调用JdbcTemplate的`execute`方法执行SQL查询,并传入`RowCallbackHandler`实例。这将启动游标滚动,每次处理一行数据,直到所有数据都被处理。 5. **计算总记录数**:为了提供分页信息,我们还...
4. **调用JdbcTemplate方法**:在业务代码中,通过`JdbcTemplate`提供的方法执行SQL,例如`update`、`insert`、`delete`和`query`。 5. **处理结果**:对于查询操作,可以指定结果集的映射方式,如使用RowMapper或...
4. 调用JdbcTemplate的方法:例如queryForList()用于查询多条记录,update()用于执行更新操作。 5. 处理结果:JdbcTemplate会自动处理结果集,将数据转换为Java对象。 JdbcTemplate提供的主要API包括: - `query...
在这个例子中,我们使用了`JdbcTemplate`的`batchUpdate`方法来进行批量更新操作,并且在调用该方法之前关闭了`Connection`对象的自动提交功能。如果在执行过程中发生了异常,比如主键冲突导致的插入失败,那么所有...
接口定义了业务操作,实现类则通过JdbcTemplate调用对应的方法。例如: ```java public interface UserRepository { User findById(int id); List<User> findAll(); void save(User user); } public class ...
在本文中,我们将深入探讨如何将SpringMVC与jdbcTemplate集成,同时利用Druid作为连接池,实现一个基于REST风格的简单CRUD应用。我们将主要关注以下知识点: 1. **SpringMVC框架**:SpringMVC是Spring框架的一个...
在这个DEMO中,JdbcTemplate可能被用来执行数据库查询、更新和删除操作,与Spring的其他组件无缝配合。 在配置方面,Struts2的配置文件(通常为struts.xml)会定义Action和结果映射,而Spring的配置文件(如...
在用户管理功能中,JDBCTemplate用于执行CRUD(创建、读取、更新、删除)操作,例如添加新用户、查询用户信息、修改用户信息和删除用户。 4. **用户管理功能**:在实际应用中,用户管理通常包括用户注册、登录、...
这样,我们就通过SpringBoot的JdbcTemplate和`NamedParameterJdbcTemplate`实现了批量操作,提高了程序的执行效率,同时也降低了代码的复杂性。在实际开发中,根据具体需求选择合适的方法,既能保证性能,又能保持...
4. **调用JdbcTemplate的方法执行SQL**:根据SQL语句的类型选择合适的execute、update或queryXxx方法。例如,执行更新操作: ```java int rowsAffected = jdbcTemplate.update("INSERT INTO table VALUES (?, ?)",...
AOP则允许我们在不修改原有代码的情况下,添加新的功能或行为,如日志记录、事务管理等。 Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序。它遵循模型-视图-控制器(Model-View-Controller, MVC)设计...
4. **回滚事务**:如果有任何错误,调用`Connection.rollback()`回滚事务,撤销所有更改。 **JDBC连接池** 在实际开发中,频繁地创建和关闭数据库连接会导致性能下降和资源浪费。为了解决这个问题,引入了连接池...
通常可以通过AOP(面向切面编程)或者JDBC驱动的代理实现,例如使用Spring的JdbcTemplate或者MyBatis框架,它们都提供了日志拦截器来记录SQL执行情况。 总结,本课程通过深入理解Dubbo的架构和调用流程,实现了对...
例如,插入操作返回1表示成功插入一条记录,更新和删除操作返回非0值表示有行被修改或删除。 在实际开发中,我们还会编写控制器(Controller)来处理HTTP请求,将这些服务方法暴露为RESTful API,方便前端或其他...
本篇文章将深入探讨DAO模式在实现增加、删除、修改操作中的应用。 1. **DAO模式的基本概念** DAO模式是一种数据访问对象模式,它的核心思想是将业务逻辑与数据访问逻辑分离,提供一个独立的对象来处理数据存储。...
这可以通过调用`JdbcTemplate`的`getDataSource().getConnection()`方法来实现。获取到的新连接没有与任何事务绑定,因此查询会返回最新的数据库状态。 3. **使用DateUtils**: 有时,问题可能出在JDBC的缓存行为...
3. 在实际使用时,根据业务需求,我们可以创建更多的DAO实现类,它们都继承自`JDBCTemplate`,并通过反射调用父类中的方法,以完成特定的数据库操作。 通过这样的设计,我们既保留了JDBC的灵活性,又降低了代码的...