1、包结构:
2、源代码:
Book.java
package domain;
public class Book {
private long id;
private String name;
private double price;
public Book(){
}
public Book(String name,double price){
this.name=name;
this.price=price;
}
public Book(long id,String name,double price){
this(name,price);
this.id=id;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String toString(){
return "id:"+id+"-name:"+name+"-price:"+price;
}
}
BookDao.java
package dao;
import java.util.List;
import domain.Book;
public interface BookDao {
void save(Book b);
void update(Book b);
void delete(long id);
Book findById(long id);
List<Book> findByPrice(double from,double to);
}
BookDaoImpl.java
package dao.jdbc;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.ResultSetExtractor;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
import dao.BookDao;
import domain.Book;
public class BookDaoImpl extends JdbcDaoSupport implements BookDao {
public void delete(long id) {
String sql="delete from book where id = ?";
this.getJdbcTemplate().update(sql, new Object[]{id});
}
public Book findById(long id) {
String sql = "select * from book where id =?";
ResultSetExtractor rse = null;
rse = new ResultSetExtractor() {
public Object extractData(ResultSet rs) throws SQLException,
DataAccessException {
if (rs.next()) {
return new Book(rs.getLong(1), rs.getString(2), rs
.getDouble(3));
} else {
return null;
}
}
};
return (Book) this.getJdbcTemplate().query(sql, new Object[] { id },
rse);
}
public List findByPrice(double from, double to) {
String sql="select * from book where price between ? and ?";
return this.getJdbcTemplate().query(sql, new Object[]{from,to},new RowMapper(){
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
return new Book(rs.getLong(1),rs.getString(2),rs.getDouble(3));
}
});
}
public void save(Book b) {
String sql = "insert into book(id,name,price) values(?,?,?) ";
this.getJdbcTemplate().update(sql,
new Object[] { b.getId(), b.getName(), b.getPrice() });
}
public void update(Book b) {
String sql="update book set name = ? , price = ? where id = ?";
this.getJdbcTemplate().update(sql,new Object[]{b.getName(),b.getPrice(),b.getId()});
}
}
applicationContext_jdbc.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:myorcl"></property>
<property name="username" value="myorcl"></property>
<property name="password" value="embed"></property>
</bean>
<bean id="bookDao" class="dao.jdbc.BookDaoImpl">
<property name="dataSource" ref="dataSource"></property>
</bean>
</beans>
BookDaoTest.java
package test;
import java.util.List;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import dao.BookDao;
import domain.Book;
public class BookDaoTest {
public static void main(String[]args){
ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext_jdbc.xml");
BookDao dao=(BookDao)ac.getBean("bookDao");
dao.save(new Book(10,"三个火枪手",44.9));
List<Book> books=dao.findByPrice(30, 60);
for(Book book:books){
System.out.println(book);
}
}
}
- 大小: 9.9 KB
分享到:
相关推荐
当我们谈论"Spring+JDBC实例"时,通常是指在Spring框架中使用JDBC进行数据访问的方式,这种方式可以利用Spring提供的便利性,同时保留对数据库的直接控制。 在Spring框架中,JDBC操作被封装在`org.springframework....
在整合Spring MVC、Spring和Spring JDBC的实例中,你可能会看到以下几个关键部分: 1. **配置文件**:包括Spring的主配置文件(如`applicationContext.xml`),其中定义了Bean的配置,包括DataSource、JdbcTemplate...
《Spring MVC + Spring + Spring JDBC 整合实例详解》 在Java Web开发中,Spring框架因其强大的功能和灵活的设计而备受推崇。Spring MVC、Spring核心模块以及Spring JDBC是Spring框架中的三大重要组成部分,它们...
此外,Spring JDBC也支持存储过程的调用,以及批量更新操作。在处理大量数据时,还可以通过分页查询来优化性能。在分布式环境下,Spring JDBC配合Spring的事务管理功能,可以实现跨数据库操作的事务一致性。 这个...
通过学习这些Spring JDBC的应用实例,你可以有效地整合Spring与数据库,提升开发效率,同时保持代码的简洁和可维护性。在实际项目中,Spring JDBC可以与MyBatis、Hibernate等ORM框架结合使用,以满足不同层次的需求...
这个`springjdbc.zip`压缩包很可能包含了示例代码和配置文件,用于演示如何使用Spring JDBC来执行基本的数据库操作,如增、删、改、查。 1. **Spring JDBC模块**:Spring JDBC模块主要由`org.springframework.jdbc`...
这个项目不仅包含了源代码,还预设了完整的数据库,因此非常适合学习和理解Spring JDBC的实际应用。 在Spring JDBC中,我们主要关注以下几个核心概念: 1. **JdbcTemplate**: 这是Spring JDBC提供的主要类,用于...
这个整合Demo是一个学习和实践Spring MVC、Spring和Spring JDBC整合的绝佳案例,它涵盖了Web应用开发的多个层面,从接收用户请求到数据持久化,再到视图的呈现。通过深入研究这个Demo,开发者可以更好地理解和掌握...
同时,还可以参考网络资源,如“史上最全最强SpringMVC详细示例实战教程”和“SpringMVC + Spring + SpringJDBC整合”的文档,学习如何创建基于Maven的Web项目,以及如何在IDEA中添加和管理jar包。 总之,SpringMVC...
Spring JDBC模块的主要目标是减少对JDBC API的直接依赖,通过提供一种更加高级、易于使用的编程模型来简化数据库访问。在这个“spring_jdbc_4.0.0.zip”压缩包中,包含的是Spring JDBC 4.0.0版本的jar文件,即...
在本项目中,我们主要利用Spring框架,包括其核心模块Spring、MVC模块Spring MVC以及数据访问/集成模块Spring JDBC,结合MySQL数据库来构建一个基础的登录注册系统。以下是这个项目涉及的关键技术点: 1. **Spring...
在“www.pudn.com.txt”和“SpringJDBC”这两个文件中,可能包含了具体的代码示例、配置文件或者对这些概念的详细解释。学习这些内容有助于深入理解Spring JDBC的使用,从而更高效地进行数据库操作。 总之,Spring ...
《深入解析Spring JdbcTemplate》 Spring JDBC Template是Spring框架中...这个实例工程为我们提供了一个学习和实践Spring JdbcTemplate的良好平台,通过对其中代码的分析和运行,可以更好地理解和掌握其用法和精髓。
通过这个SpringJDBC.rar的案例,初学者可以学习到如何配置DataSource,如何创建JdbcTemplate实例,以及如何编写和执行SQL语句。同时,实践中还可以了解到如何将Spring JDBC整合到Spring Boot项目中,以及如何处理...
在Spring实例代码中,我们可能还会看到Spring与这些技术的整合,如使用Spring Boot启动应用,配合MyBatis进行数据访问,以及使用AngularJS构建前端交互。 总的来说,"springframework实例代码"将涵盖Spring框架的...
Spring提供了对多种数据访问技术的支持,如JDBC、Hibernate、MyBatis等。通过`@Repository`注解,我们可以将数据库操作封装为DAO(数据访问对象),Spring会自动处理事务管理,确保数据一致性。 ### 6. Spring Boot...
在本实例中,我们将深入探讨Spring JDBC的使用,并以`SpringJdbcTemplate`为例来阐述其主要功能和优势。 首先,Spring JDBC通过`JdbcTemplate`和`NamedParameterJdbcTemplate`类提供了强大的数据库访问功能。`...