当不使用hibernate操作数据库时,DAO直接和dataSource打交道,配置如下:
<bean id="userDAO" class="com.demo.spring.dao.UserDAO">
<property name="dataSource">
<ref local="dataSource" />
</property>
</bean>
对应的UserDAO代码如下:
package com.demo.spring.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.sql.DataSource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
public class UserDAO {
private DataSource dataSource;
public DataSource getDataSource() {
return dataSource;
}
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
@SuppressWarnings("unchecked")
public boolean isValid(String username, String password) {
List userList = new ArrayList();
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
userList = jdbcTemplate.query("SELECT * FROM user WHERE username='"
+ username + "' and password='" + password + "'",
new RowMapper() {
public Object mapRow(ResultSet rs, int rowNum)
throws SQLException {
User user = new User();
user.setId(rs.getString("ID"));
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
user.setEmail(rs.getString("email"));
return user;
}
});
if (userList.size() > 0) {
return true;
} else {
return false;
}
}
public boolean isExist(String username) {
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
int count = jdbcTemplate.queryForInt("SELECT count(*) FROM user WHERE username='" + username
+ "'");
if (count > 0) {
return true;
} else {
return false;
}
}
public void insertUser(User user) {
String username = user.getUsername();
String password = user.getPassword();
String email = user.getEmail();
JdbcTemplate jt = new JdbcTemplate(getDataSource());
jt.update("insert into user(username,password,email) values ('"
+ username + "','" + password + "','" + email + "');");
}
}
当使用hibernate进行数据库操作时,DAO是和sessionFactory打交道,而sessionFactory是和dataSource进行联系的,配置代码如下:
<!-- 配置hibernate -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="mappingResources">
<list>
<value>com/ssh/beans/User.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<bean id="userDAO" class="com.ssh.dao.impl.UserDAO">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
这是的UserDAO的代码如下:
package com.ssh.dao.impl;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.ssh.beans.User;
import com.ssh.dao.interfaces.IUserDAO;
@SuppressWarnings("unchecked")
public class UserDAO extends HibernateDaoSupport implements IUserDAO{
public void deleteUser(String userid) {
Object p = getHibernateTemplate().load(User.class, new Integer(userid));
getHibernateTemplate().delete(p);
}
public User getUser(String userid) {
return (User) getHibernateTemplate().get(User.class,
new Integer(userid));
}
public List getUsers() {
return getHibernateTemplate().find("from User");
}
public void insertUser(User user) {
getHibernateTemplate().saveOrUpdate(user);
}
public boolean isExist(final String username) {
List list = (List) getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException {
List result = session.createCriteria(User.class).add(
Restrictions.eq("username", username)).list();
return result;
}
});
if (list.size() > 0) {
return true;
} else {
return false;
}
}
public boolean isValid(final String username, final String password) {
List list = (List) getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException {
List result = session.createCriteria(User.class).add(
Restrictions.eq("username", username)).add(
Restrictions.eq("password", password)).list();
return result;
}
});
if (list.size() > 0) {
return true;
} else {
return false;
}
}
}
分享到:
相关推荐
在给出的部分内容中,可以看到`applicationContext.xml`文件的头部结构,它使用了XML语言来定义Spring容器的配置信息。该文件的头部主要包括以下几点: - **XML声明**:`<?xml version='1.0' encoding='UTF-8'?>`。...
而`applicationContext.xml`是Spring框架中用来配置各种bean以及它们之间的依赖关系的核心配置文件。 #### 1. XML配置文件结构 让我们从`applicationContext.xml`的头部开始解析: ```xml <?xml version="1.0" ...
在这个场景中,我们将探讨如何在不使用`hibernate.cfg.xml`配置文件的情况下整合Spring和Hibernate。 通常,Hibernate通过`hibernate.cfg.xml`文件来配置数据库连接、实体类映射等信息。但在Spring中,我们可以利用...
Spring的XML配置文件(如applicationContext.xml)用于声明bean及其依赖。通过@Autowired注解或XML配置,Spring可以自动装配bean,实现依赖注入。同时,Spring还提供了AOP(面向切面编程)支持,用于添加如日志、...
综上所述,Struts2.1、Spring3.0和Hibernate3.3的整合涉及数据库连接、MVC组件配置、依赖注入以及XML配置文件的拆分。这种整合允许开发人员利用Spring的强大功能管理依赖,使用Struts2处理请求和展现,以及借助...
### Spring的applicationContext.xml文件详解 #### 一、引言 在Java开发领域,Spring框架因其强大的功能和灵活的设计而受到广泛欢迎。其中,`applicationContext.xml`是Spring框架的核心配置文件之一,它用于管理...
3. 配置Struts:在struts-config.xml中配置Action和ActionForward,同时使用Spring的Action代理实现DI。 4. 配置Hibernate:设置hibernate.cfg.xml文件,定义数据库连接等信息。 5. 实现业务逻辑:编写Action、...
【Spring+Struts+Hibernate整合配置方案】 Spring、Struts和Hibernate是Java Web开发中三大核心框架,它们各自负责不同的职责:Spring作为依赖注入容器和面向切面编程(AOP)框架,提供应用的结构和事务管理;Struts...
6. **整合其他技术**:Spring4可以与各种数据库(如JDBC、Hibernate、MyBatis)、其他Java EE组件(如JMS、EJB)以及各种Web框架(如Struts、JSF)无缝集成,提供了一站式的解决方案。 了解并掌握以上知识点,将有...
SSH整合的关键在于配置文件,包括Struts 2的struts.xml、Spring的applicationContext.xml和Hibernate的hibernate.cfg.xml。这些文件定义了各组件之间的关系和行为。例如,struts.xml中配置Action类及其结果视图,...
在“struts2springhibernate”这个项目中,我们首先会看到Struts2的配置文件(如struts.xml),它是整个应用的控制器配置,定义了Action类与URL的映射以及结果的跳转。Struts2通过拦截器来处理请求,并利用...
图文教程MyEclipse配置struts...本文档最后部分是一个实战演习,讲述如何使用struts、hibernate和spring三个框架来实现一个完整的Web应用程序,包括建立数据库连接、生成FreeMarker模板、配置struts-config.xml文件等。
配置`struts-config.xml`以加载Spring的`ContextLoaderPlugIn`,并指定Spring的配置文件`applicationContext.xml`。 5. **修改Action配置**:将Action类型更改为`DelegatingActionProxy`,以使Struts委托给Spring来...
Struts2-Spring4-Hibernate4 XML配置的框架是一个经典的Java Web开发架构,它整合了三个主流的开源框架:Struts2、Spring4和Hibernate4。这个框架的配置主要通过XML文件来完成,同时也可以结合注解的方式进行更加...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责应用程序的不同层面:Struts2处理MVC模式中的视图和控制器,Spring提供依赖注入(DI)和面向切面编程(AOP),而Hibernate则负责对象关系映射...
在整合Struts2、Hibernate3和Spring时,确保所有jar包的兼容性和正确性至关重要,因为不匹配的版本可能导致各种运行时问题。"struts2-hibernate3-spring整合需要的全部jar包"正是为了解决这个问题,它包含了所有必要...
Struts2的配置文件(struts.xml)定义Action和结果,Hibernate的配置文件(hibernate.cfg.xml)设置数据库连接,Spring的配置文件(applicationContext.xml)管理bean。这些配置文件需要正确地互相引用,以确保框架...
整合SSH框架时,你还需要配置web.xml文件,将Struts2的Front Controller配置为Servlet容器的DispatcherServlet。同时,需要在`struts.xml`、`hibernate.cfg.xml`和`applicationContext.xml`中进行相应的设置,例如...
不过,这里提到的是不生成 Hibernate 自身的配置文件,而是将其配置工作交给 Spring。这意味着你需要在 `applicationContext.xml` 中配置 Hibernate SessionFactory,并让 Spring 管理事务。 **4. 在 Struts 配置...
在整合Struts2时,我们需要配置Spring的`spring-beans.jar`、`spring-context.jar`等,通过Spring的ApplicationContext加载bean,并将这些bean注入到Struts2的Action中,以实现业务逻辑的解耦。同时,Spring还提供了...