`
wesker0918
  • 浏览: 42686 次
  • 性别: Icon_minigender_1
  • 来自: 山东->北京
社区版块
存档分类
最新评论

Spring配置数据源DAO

阅读更多

总览:

表结构:

目录结构:

1. bean.xml:

<!---->

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
	<!-- 连接MySQL -->
	<!-- 
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName">
			<value>com.mysql.jdbc.Driver</value>
		</property>
		<property name="url">
			<value>jdbc:mysql://localhost/test</value>
		</property>
		<property name="username">
			<value>root</value>
		</property>
		<property name="password">
			<value>root</value>
		</property>
	</bean>
	-->

	<!-- 连接informix -->
	<!--使用连接池-->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
		<property name="driverClassName">
			<value>com.informix.jdbc.IfxDriver</value>
		</property>
		<property name="url">
			<value>jdbc:informix-sqli://172.18.2.999:1234/abcd:INFORMIXSERVER=efgh</value> <!--注.1-->
		</property>
		<property name="username">
			<value>hello</value>
		</property>
		<property name="password">
			<value>hello</value>
		</property>
	</bean>

	<bean id="connect" class="cn.wangy.dao.UserDAO">
		<property name="ds">
			<ref bean="dataSource" />
		</property>
	</bean>
</beans>

 

2. log4j.properties:

log4j.rootLogger=debug, stdout
log4j.appender.stdout.File=D:\\.log
#log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout=org.apache.log4j.RollingFileAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%c{1} - %m%n

3.UserBean.java

package cn.wangy.beans;

public class UserBean {
	private String name;
	private String pwd;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPwd() {
		return pwd;
	}

	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
}

 

4.UserInter.java:

package cn.wangy.interfaces;

import java.util.List;

import cn.wangy.beans.UserBean;

public interface UserInter {
	List select(String name);
	void insertUser(UserBean user);
}

 

5. UserDAO.java

package cn.wangy.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import javax.sql.DataSource;

import cn.wangy.beans.UserBean;
import cn.wangy.interfaces.UserInter;

public class UserDAO implements UserInter {
	private DataSource ds;

	public void setDs(DataSource ds) {
		this.ds = ds;
	}

	public DataSource getDs() {
		return ds;
	}

	public void insertUser(UserBean user) {}

	public List select(String name) {
		Connection conn = null;
		Statement stmt = null;
		ResultSet rs = null;
		List users = new ArrayList();
		String sql = "select * from users where name='" + name + "'";
		try {
			conn = ds.getConnection();
			stmt = conn.createStatement();
			rs = stmt.executeQuery(sql);
			while (rs.next()) {
				UserBean uBean = new UserBean();
				uBean.setName(rs.getString("name"));
				uBean.setPwd(rs.getString("pwd"));
				users.add(uBean);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			if (conn != null) {
				try {
					conn.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			if (stmt != null) {
				try {
					stmt.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
		return users;
	}
}

 

6. UserTest.java

package cn.wangy.test;

import java.util.Iterator;
import java.util.List;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

import cn.wangy.beans.UserBean;
import cn.wangy.interfaces.UserInter;

public class UserTest {

	public static void main(String[] args) {
		ApplicationContext ac = new FileSystemXmlApplicationContext("bean.xml");
		UserInter uInter = (UserInter) ac.getBean("connect");
		List list = uInter.select("wangyue");
		Iterator it = list.iterator();
		while(it.hasNext()){
			UserBean uBean = (UserBean)it.next();
			System.out.println("NAME:" + uBean.getName() + "的密码:" + uBean.getPwd());
		}
	}
}

 

#注.1:

在eclipse中 Ctrl+Shift+f为格式化代码 但是在这里如果变成

 

<value>
  jdbc:informix-sqli://172.18.2.999:1234/abcd:INFORMIXSERVER=efgh
</value>

 

会报错:

Caused by: java.sql.SQLException: No suitable driver
 at java.sql.DriverManager.getDriver(DriverManager.java:243)
 at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:773)
 ... 3 more

 

分享到:
评论

相关推荐

    spring几种Dao支持配置

    Spring提供了多种方式来支持DAO的配置,使得开发人员可以灵活地选择最适合项目需求的数据访问策略。以下将详细阐述Spring对DAO支持的几种配置方式: 1. **JDBC DAO支持:** Spring通过`JdbcTemplate`和`...

    Spring获取数据源代码

    1. **Spring数据源类型** - **BasicDataSource**: Spring内置的`org.springframework.jdbc.datasource.BasicDataSource`是最常用的数据源实现,它基于Apache Commons DBCP库,提供连接池功能。 - **...

    Spring配置事务在DAO层和业务逻辑层

    - **DataSourceTransactionManager**:基于JDBC的数据源事务管理。 - **JtaTransactionManager**:用于JTA(Java Transaction API)环境下的事务管理。 ##### TransactionProxyFactoryBean `...

    SSM(Spring+SpringMVC+MyBatis)多数据源配置框架

    在多数据源配置中,Spring能够帮助管理不同的数据源,通过配置bean来切换和控制数据源的使用。 **SpringMVC** 是Spring框架的一部分,专为Web开发设计。它简化了模型-视图-控制器(Model-View-Controller,MVC)的...

    spring配置文件详解

    在 Spring 配置文件中,我们可以定义各种类型的Bean对象,例如数据源、Session工厂、Hibernate模板、DAO对象、Service对象等等。这些Bean对象之间可以通过依赖注入的方式进行关联和配置。 在给定的配置文件中,我们...

    基于注解和Spring的多数据源配置和使用

    本篇文章将深入探讨如何基于注解和Spring实现多数据源配置和使用。 首先,我们需要理解"注解"在Java中的作用。注解是一种元数据,它提供了一种安全的方法来关联信息和代码(类、方法、变量等)。Spring框架广泛使用...

    Spring多数据源解决方案

    在这个配置中,`DynamicDataSource`作为所有数据源的父类,`sqlMapClient`指向`DynamicDataSource`,这样所有使用`sqlMapClient`的DAO类,如`UserInfoDAO`,都将通过动态数据源进行数据操作,而无需直接处理数据源...

    spring-jdbc-dao

    1. DataSource:数据源是连接数据库的关键,Spring支持多种DataSource实现,如Apache Commons DBCP、C3P0等,它们负责管理数据库连接池。 2. JdbcTemplate:它是Spring JDBC的核心,提供了执行SQL语句和处理结果集的...

    springboot2.0多数据源集成hibernate配置hibernateDaoSupport示例

    本示例主要介绍如何实现Spring Boot 2.0多数据源的集成,并结合Hibernate进行配置,特别是在DAO层使用`HibernateDaoSupport`进行操作,而非使用JPA(Java Persistence API)。 首先,让我们了解Spring Boot 2.0的...

    springboot +mybatis+oracle 配置多个数据源,配置两个数据库信息

    本配置示例将详细介绍如何在Spring Boot中整合MyBatis与Oracle数据库,并配置两个不同的数据源。 首先,我们需要理解数据源(DataSource)的概念。数据源是Java应用程序与数据库之间的桥梁,它负责管理数据库连接,...

    spring2跨数据源访问

    6. **Spring Boot中的多数据源配置**:在Spring Boot项目中,配置多数据源可以通过YAML或properties文件来完成。`spring.datasource.*`属性可以配置多个,如`spring.datasource.primary.*`和`spring.datasource....

    spring 配置文件详解

    1. Bean 定义:在 Spring 配置文件中,可以定义各种类型的 Bean,例如数据源、 Service、DAO 等。这些 Bean 将被 Spring 容器管理和装配。 2. 依赖关系注入:在 Spring 配置文件中,可以定义 Bean 之间的依赖关系,...

    spring boot 2多数据源,里面有hibernate和mybatis的多数据源代码

    在Spring Boot 2框架中,实现多数据源的配置是一项重要的任务,特别是在大型企业级应用中,可能需要连接到不同的数据库来满足不同业务的需求。在这个项目中,我们有两个主要的数据访问技术:Hibernate和MyBatis,...

    spring多数据源动态切换方案

    总结,Spring多数据源动态切换方案主要涉及创建多个数据源、使用AbstractRoutingDataSource进行动态路由、配置事务管理和在代码中切换数据源。通过这种方式,我们可以灵活地处理复杂的数据源切换场景,适应不同业务...

    JSP工程包含Spring配置信息

    3. **Spring数据访问库**:如`spring-jdbc.jar`,支持对数据库的操作,包括数据源配置、DAO支持等。 4. **JSP相关库**:如`jsp-api.jar`,`servlet-api.jar`,它们是运行JSP所必需的Servlet和JSP API。 5. **其他...

    spring配置两个数据

    **Spring配置文件**:Spring使用XML配置文件来定义各种Bean及其属性,包括数据源、DAO组件、服务层组件等。在配置文件中,通过`&lt;bean&gt;`标签定义Bean,指定其类型、属性和初始化参数。 #### 配置示例详解 在给出的...

    spring boot服务器dao层实例化.rar_dao实例化_idea 实例ID_spring boot_spring b

    4. Spring Boot配置:在Spring Boot应用中,我们需要在主配置类(通常是`Application`类)上添加`@SpringBootApplication`注解,该注解包含了`@EnableAutoConfiguration`,它会自动配置我们的数据源和JPA设置。...

    解决The type org.springframework.dao.support.DaoSupport cannot be resolved.bao报错

    这个错误通常意味着编译环境无法找到`DaoSupport`类,这是Spring DAO模块中的一个关键类,用于提供数据访问对象(DAO)的基本支持。`DaoSupport`是许多自定义DAO实现的基础,它提供了事务管理和其他便利功能。 首先...

    spring3+springmvc+jpa+hibernate多数据源

    4. **数据源切换**:在服务层或DAO层,根据业务逻辑选择合适的数据源,可能需要自定义拦截器或AOP切面来实现。 5. **测试和优化**:进行充分的测试以确保所有数据源都能正常工作,并根据性能需求进行调整。 总之,...

    Spring的DAO

    配置数据源是使用Spring DAO的基础。Spring支持多种数据源配置方式,包括从JNDI查找数据源和直接在XML配置文件中定义。以下是一个使用Apache Commons DBCP数据源的例子: ```xml ${jdbc.driverClassName}" /&gt; ${...

Global site tag (gtag.js) - Google Analytics