1.spring中jdbc模板
a.配置jdbcTemplete
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/> //dataSource可以使任意性
</bean>
b.配置jdbcTemplete的jdbcTemplete属性
<bean id="jdbcTemplete" class="test.JdbcTemplete">
<property name="jdbcTemplate" ref="jdbcTemplate"/>
</bean>
c.在自定义方法中使用
public class JdbcTemplete extends JdbcDaoSupport implements jdbcTemplete{
public List insert(){
List<User> list = getJdbcTemplate().query("select * from users where username=? and enabled=?"
,
new Object[]{"cai","true"}
,
new RowMapper(){
public Object mapRow(ResultSet rs, int rownum) throws SQLException {
User user = new User();
user.setUsername(rs.getString("username"));
user.setEnabled(rs.getString("enabled"));
user.setPassword(rs.getString("password"));
return user;
}
});
return list;
}
其中此方法目的是将结果集映射为实体对象,其中3个参数
•一个字符串,包含用于从数据库里选择数据的SQL语句
•一个Object数组,包含与查询里索引参数绑定的值
•一个RowMapper对象,它从ResultSet里提取数值并构造一个域对象
2.spring中MappingSqlQuery类
使用MappingSqlQuery的目的是将结果集映射为实体对象
a.实例中一定要继承MappingSqlQuery
private class CustomerMappingQuery extends MappingSqlQuery {
public CustomerMappingQuery(DataSource ds) {
super(ds, "SELECT id, name FROM customer WHERE id = ?");//调用超类的构造方法,传递数据源,sql语句
super.declareParameter(new SqlParameter("id", Types.INTEGER));//定义参数类型
compile();
}
public Object mapRow(ResultSet rs, int rowNumber) throws SQLException {//使结果集转化为实体对象
Customer cust = new Customer();
cust.setId((Integer) rs.getObject("id"));
cust.setName(rs.getString("name"));
return cust;
}
}
b.调用该方法时
public Customer getCustomer(Integer id) {
CustomerMappingQuery custQry = new CustomerMappingQuery(dataSource);
Object[] parms = new Object[1];
parms[0] = id;
List customers = custQry.execute(parms);//调用目的类的execute方法,并传递相应的参数值parms
,parms的
值与上面定义的参数类型相对应
if (customers.size() > 0) {
return (Customer) customers.get(0);
}
else {
return null;
}
}
分享到:
相关推荐
### Spring DAO 概述 Spring框架提供了一套强大的数据访问抽象层——DAO(Data Access Object)支持,使得开发者能够在不关心具体数据库技术细节的情况下完成数据访问任务。这一机制极大地简化了开发过程,降低了...
Spring 数据库访问的支持。包括统一异常体系和Spring的Template+CallBack的解读
Spring DAO模式是Spring框架中的一种设计模式,它主要用于数据库访问层的实现,旨在提供一种统一的、可扩展的、易管理的方式来处理数据访问。在Spring框架中,DAO(Data Access Object)模式是将业务逻辑与数据操作...
Mybatis_SpringDao 是一个关于将Mybatis与Spring框架整合使用的示例项目,它展示了如何在Spring应用中采用原始Dao(Data Access Object)的方式进行数据访问,并且包含了事务管理的实现。下面我们将深入探讨这个主题...
BasicDAO和SpringDAO的区别
spring集成hibernate通用dao,泛型,server都可以调用
标题中的"dao.rar_spring-dao"暗示了这个压缩包可能包含了与Spring DAO层相关的源代码或资源。DAO(Data Access Object)模式是Java开发中常用的一种设计模式,用于封装对数据库的操作,使得业务逻辑层与数据访问层...
本资源“spring_aop.rar_spring-dao”是一个关于Spring AOP(面向切面编程)和Spring DAO(数据访问对象)的实例,旨在帮助开发者理解如何在Spring框架下实现AOP的控制反转,并有效地进行DAO层的操作。 首先,我们...
Spring的DAO支持是其核心模块之一,用于简化数据访问层(DAO)的开发,通过将固定的数据访问逻辑和业务逻辑分离,提高了代码的可维护性和复用性。Spring的DAO设计模式主要体现在模板(Template)和回调(Callback)...
在开发Spring框架相关的Java应用时,可能会遇到"The type org.springframework.dao.support.DaoSupport cannot be resolved"的错误提示。这个错误通常意味着编译环境无法找到`DaoSupport`类,这是Spring DAO模块中的...
Spring以其强大的依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)能力,简化了Java应用的复杂性,特别是对于数据访问层(DAO,Data Access Object)的管理。本文将详细...
本示例“ehcache-spring-dao”是关于如何将EHCache与Spring DAO集成的教程,它利用了Jersey作为RESTful服务的提供者。下面我们将详细探讨这些关键组件及其集成方式。 首先,EHCache是一款广泛使用的开源Java分布式...
在Spring框架中,DAO(Data Access Object)模式是一种常见的设计模式,用于封装对数据库的访问操作,以此来解耦业务逻辑层与数据访问层。这个经典的Spring DAO模式开发案例提供了深入理解Spring如何处理数据访问的...
spring-dao.jar spring-dao.jar
Spring Data Access Object(DAO)框架是Spring生态体系中用于数据库交互的重要部分,它简化了数据访问层的实现,使得开发者可以更专注于业务逻辑,而不是底层数据库操作。本文将深入探讨Spring DAO框架的入门知识,...
使用Spring实现DAO模式 在软件开发领域,设计模式是一种被广泛接受的解决特定问题的方案。其中,DAO(Data Access Object)模式旨在提供一种抽象的数据访问机制,将数据访问的逻辑封装在一个对象中,从而使得应用...
Spring框架是Java开发中不可或缺的一部分,它为应用程序提供了一个全面的基础设施,支持bean管理、依赖注入、面向切面编程(AOP)、数据访问/对象关系映射(DAO)、Web MVC等。Spring3作为其早期的一个版本,虽然...
Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是...Spring框架主要由七部分组成,分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC