总览:
表结构:
目录结构:
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支持的几种配置方式: 1. **JDBC DAO支持:** Spring通过`JdbcTemplate`和`...
1. **Spring数据源类型** - **BasicDataSource**: Spring内置的`org.springframework.jdbc.datasource.BasicDataSource`是最常用的数据源实现,它基于Apache Commons DBCP库,提供连接池功能。 - **...
- **DataSourceTransactionManager**:基于JDBC的数据源事务管理。 - **JtaTransactionManager**:用于JTA(Java Transaction API)环境下的事务管理。 ##### TransactionProxyFactoryBean `...
在多数据源配置中,Spring能够帮助管理不同的数据源,通过配置bean来切换和控制数据源的使用。 **SpringMVC** 是Spring框架的一部分,专为Web开发设计。它简化了模型-视图-控制器(Model-View-Controller,MVC)的...
在 Spring 配置文件中,我们可以定义各种类型的Bean对象,例如数据源、Session工厂、Hibernate模板、DAO对象、Service对象等等。这些Bean对象之间可以通过依赖注入的方式进行关联和配置。 在给定的配置文件中,我们...
本篇文章将深入探讨如何基于注解和Spring实现多数据源配置和使用。 首先,我们需要理解"注解"在Java中的作用。注解是一种元数据,它提供了一种安全的方法来关联信息和代码(类、方法、变量等)。Spring框架广泛使用...
在这个配置中,`DynamicDataSource`作为所有数据源的父类,`sqlMapClient`指向`DynamicDataSource`,这样所有使用`sqlMapClient`的DAO类,如`UserInfoDAO`,都将通过动态数据源进行数据操作,而无需直接处理数据源...
1. DataSource:数据源是连接数据库的关键,Spring支持多种DataSource实现,如Apache Commons DBCP、C3P0等,它们负责管理数据库连接池。 2. JdbcTemplate:它是Spring JDBC的核心,提供了执行SQL语句和处理结果集的...
本示例主要介绍如何实现Spring Boot 2.0多数据源的集成,并结合Hibernate进行配置,特别是在DAO层使用`HibernateDaoSupport`进行操作,而非使用JPA(Java Persistence API)。 首先,让我们了解Spring Boot 2.0的...
本配置示例将详细介绍如何在Spring Boot中整合MyBatis与Oracle数据库,并配置两个不同的数据源。 首先,我们需要理解数据源(DataSource)的概念。数据源是Java应用程序与数据库之间的桥梁,它负责管理数据库连接,...
6. **Spring Boot中的多数据源配置**:在Spring Boot项目中,配置多数据源可以通过YAML或properties文件来完成。`spring.datasource.*`属性可以配置多个,如`spring.datasource.primary.*`和`spring.datasource....
1. Bean 定义:在 Spring 配置文件中,可以定义各种类型的 Bean,例如数据源、 Service、DAO 等。这些 Bean 将被 Spring 容器管理和装配。 2. 依赖关系注入:在 Spring 配置文件中,可以定义 Bean 之间的依赖关系,...
在Spring Boot 2框架中,实现多数据源的配置是一项重要的任务,特别是在大型企业级应用中,可能需要连接到不同的数据库来满足不同业务的需求。在这个项目中,我们有两个主要的数据访问技术:Hibernate和MyBatis,...
总结,Spring多数据源动态切换方案主要涉及创建多个数据源、使用AbstractRoutingDataSource进行动态路由、配置事务管理和在代码中切换数据源。通过这种方式,我们可以灵活地处理复杂的数据源切换场景,适应不同业务...
3. **Spring数据访问库**:如`spring-jdbc.jar`,支持对数据库的操作,包括数据源配置、DAO支持等。 4. **JSP相关库**:如`jsp-api.jar`,`servlet-api.jar`,它们是运行JSP所必需的Servlet和JSP API。 5. **其他...
**Spring配置文件**:Spring使用XML配置文件来定义各种Bean及其属性,包括数据源、DAO组件、服务层组件等。在配置文件中,通过`<bean>`标签定义Bean,指定其类型、属性和初始化参数。 #### 配置示例详解 在给出的...
4. Spring Boot配置:在Spring Boot应用中,我们需要在主配置类(通常是`Application`类)上添加`@SpringBootApplication`注解,该注解包含了`@EnableAutoConfiguration`,它会自动配置我们的数据源和JPA设置。...
这个错误通常意味着编译环境无法找到`DaoSupport`类,这是Spring DAO模块中的一个关键类,用于提供数据访问对象(DAO)的基本支持。`DaoSupport`是许多自定义DAO实现的基础,它提供了事务管理和其他便利功能。 首先...
4. **数据源切换**:在服务层或DAO层,根据业务逻辑选择合适的数据源,可能需要自定义拦截器或AOP切面来实现。 5. **测试和优化**:进行充分的测试以确保所有数据源都能正常工作,并根据性能需求进行调整。 总之,...
配置数据源是使用Spring DAO的基础。Spring支持多种数据源配置方式,包括从JNDI查找数据源和直接在XML配置文件中定义。以下是一个使用Apache Commons DBCP数据源的例子: ```xml ${jdbc.driverClassName}" /> ${...