`

Spring DAO入门

    博客分类:
  • Java
阅读更多

写了个Spring的DAO入门例子。

DAO的接口

   1: package dataSourceDemo;
   2:  
   3: public interface IUserDAO {
   4:     public void insert(User user);
   5:     public User find(Integer id);
   6:  
   7: }

DAO的实现,必须要有一个setDataSource()的方法,这样才能出入DataSource。

   1: package dataSourceDemo;
   2:  
   3: import java.sql.*;
   4:  
   5: import javax.sql.DataSource;
   6:  
   7: public class UserDAO implements IUserDAO {
   8:  
   9:     private DataSource dataSource;
  10:  
  11:     public User find(Integer id) {
  12:         // TODO 自动生成方法存根
  13:         return null;
  14:     }
  15:  
  16:     public void insert(User user) {
  17:         // TODO 自动生成方法存根
  18:         String name = user.getName();
  19:         int age = user.getAge().intValue();
  20:         
  21:         Connection conn = null;
  22:         Statement stmt =null;
  23:         
  24:         try {
  25:             conn = dataSource.getConnection();
  26:             stmt = conn.createStatement();
  27:             String sql = "insert into user (name, age)"+"values('"+name+"',"+age+")";
  28:             stmt.execute(sql);
  29:         }catch(Exception e) {
  30:             e.printStackTrace();
  31:         } finally {
  32:             if(stmt != null) {
  33:                 try {
  34:                 stmt.close();
  35:                 }catch(Exception e) {
  36:                     e.printStackTrace();
  37:                 }
  38:             }
  39:             if(conn != null) {
  40:                 try {
  41:                     conn.close();
  42:                 } catch(Exception e) {
  43:                     e.printStackTrace();
  44:                 }
  45:             }
  46:         }
  47:     }
  48:  
  49:     public DataSource getDataSource() {
  50:         return dataSource;
  51:     }
  52:  
  53:     public void setDataSource(DataSource dataSource) {
  54:         this.dataSource = dataSource;
  55:     }
  56:  
  57: }

USER BEAN

   1: package dataSourceDemo;
   2:  
   3: public class User {
   4:     private Integer id;
   5:     private String name;
   6:     private Integer age;
   7:     public Integer getAge() {
   8:         return age;
   9:     }
  10:     public void setAge(Integer age) {
  11:         this.age = age;
  12:     }
  13:     public Integer getId() {
  14:         return id;
  15:     }
  16:     public void setId(Integer id) {
  17:         this.id = id;
  18:     }
  19:     public String getName() {
  20:         return name;
  21:     }
  22:     public void setName(String name) {
  23:         this.name = name;
  24:     }
  25:     
  26:  
  27: }

配置文件,可以很容易的改变dataSource的属性,就可以轻易改变数据库的配置:

   1: <?xml version="1.0" encoding="UTF-8"?>
   2: <!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "../resources/spring-beans-2.0.dtd" >
   3: <beans>
   4:     <bean id="dataSource"
   5:         class="org.springframework.jdbc.datasource.DriverManagerDataSource">
   6:         <property name="driverClassName">
   7:             <value>com.mysql.jdbc.Driver</value>
   8:         </property>
   9:         <property name="url">
  10:             <value>jdbc:mysql://localhost:3306/test</value>
  11:         </property>
  12:         <property name="username">
  13:             <value>root</value>
  14:         </property>
  15:         <property name="password">
  16:             <value>123</value>    
  17:         </property>
  18:     </bean>
  19:     
  20:     <bean id="userDAO" class="dataSourceDemo.UserDAO">
  21:         <property name="dataSource" ref="dataSource"></property>
  22:     </bean>
  23: </beans>

JUNIT测试类

   1: package dataSourceDemo;
   2:  
   3: import org.springframework.context.ApplicationContext;
   4: import org.springframework.context.support.ClassPathXmlApplicationContext;
   5:  
   6: import junit.framework.TestCase;
   7:  
   8: public class DataSourceTest extends TestCase {
   9:  
  10:     private ApplicationContext context;
  11:  
  12:     public void setUp() {
  13:         context = new ClassPathXmlApplicationContext(
padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: b

  


  
分享到:
评论

相关推荐

    Spring DAO

    #### 5.1 Spring 持久层入门 ##### 5.1.1 Spring 的 DAO 支持 Spring DAO的核心理念是通过抽象出一系列接口来解耦具体的数据库实现细节。这些接口通常包含基本的数据操作方法,例如:`insert`、`find`、`update`和...

    Spring 快速入门

    ### Spring 快速入门知识点详解 #### Spring框架简介与优势 Spring框架是一个开源的轻量级Java应用框架,旨在简化企业级应用的开发过程。它提供了全面的解决方案,包括依赖注入(Dependency Injection, DI)、面向...

    spring菜鸟入门经典实例

    在Spring入门阶段,首先要理解的是依赖注入(DI)。DI是一种设计模式,它允许我们解耦组件,让它们之间通过接口而非具体的实现进行交互。Spring通过容器管理对象的生命周期和依赖关系,我们只需要配置好bean的定义,...

    Spring数据访问对象框架入门

    本文将深入探讨Spring DAO框架的入门知识,包括其基本概念、主要功能、如何配置以及实际应用。 **1. Spring DAO概述** Spring DAO框架是Spring对传统DAO设计模式的实现,它提供了统一的异常处理、事务管理和数据源...

    spring快速入门教程

    ### Spring快速入门教程知识点解析 #### 一、Spring框架概览与优势 Spring框架是一个开源的轻量级Java EE框架,旨在简化企业级应用的开发。它提供了全面的解决方案,包括控制反转(Inversion of Control,IoC)、...

    Spring框架入门.pdf

    数据访问层(DAO或Repository)与数据持久化进行交互。此外,Spring还提供了事务管理、安全性控制等企业级服务。 要实现快速开发Springweb应用,开发者需要掌握Spring框架的IOC容器配置和使用,AOP的相关知识,以及...

    spring入门经典

    Spring的DAO(Data Access Object)抽象层使得数据库访问更加简单,减少了对JDBC的直接操作。 Spring还提供了大量其他功能,如Spring Boot用于快速构建独立的应用程序,Spring Cloud为微服务架构提供了一套完整的...

    spring框架入门到熟练

    ### Spring框架入门到熟练 #### 一、Spring框架概述 Spring框架是一款开源的企业级应用框架,旨在解决企业级应用开发中的复杂性问题。它最初由Rod Johnson创建,并于2004年发布了第一个版本。Spring框架的核心优势...

    spring入门介绍PPT.rar

    Spring框架是中国Java开发领域中最广泛使用的轻量级框架之一,它以其依赖注入...这份"spring入门介绍PPT"将是你深入理解Spring的宝贵资源,通过它,你可以逐步掌握Spring的核心理念和技术,开启你的Spring开发之旅。

    Spring入门教程.pdf

    ### Spring入门教程知识点详解 #### 一、理论知识 ##### 1. 依赖注入与控制反转 - **依赖注入**(Dependency Injection, DI):在应用程序的运行期间,由外部容器(例如Spring容器)动态地将一个对象所依赖的其他...

    Spring MVC入门实例

    在 Spring MVC 中,模型通常由 Java 对象(Beans)组成,这些对象通过 DAO(数据访问对象)与数据库交互。 2. **视图(View)**:负责呈现数据。Spring MVC 支持多种视图技术,如 JSP、FreeMarker 或 Thymeleaf,...

    Spring MVC入门Demo

    本入门Demo将帮助初学者快速理解并掌握 Spring MVC 的基本概念和使用方法。 首先,Spring MVC 提供了控制器(Controller)的概念,它负责接收来自客户端的请求,处理业务逻辑,并将结果传递给视图(View)。在 ...

    Spring 快速入门教程

    ### Spring 快速入门教程知识点解析 #### 一、项目背景与目标 - **项目名称**:“MyUsers”——一个简单的Web应用,用于演示如何利用Struts作为前端框架、Spring作为中间层、Hibernate作为后端数据库操作层进行开发...

Global site tag (gtag.js) - Google Analytics