源码:http://pan.baidu.com/s/1i4xVLE9(百度云)

步骤:一、创建数据库(mysql)

二、导入相应jar包(注意不同数据库jdbc.jar包)配置web.xml、spring、Hibernate

三、编写测试类

说明:各配置文件应正确指向,否则容易产生找不到sessionfactory的错误。

本文各配置文件的指向关系:

具体步骤:

一、创建数据库(mysql),记住数据用户名,密码。

二、配置web.xml、spring、Hibernate

1、web.xml

<context-param>
               <param-name>contextConfigLocation</param-name>
               <param-value>classpath*:config/springAnnotation-*.xml</param-value>
        </context-param>

       <listener>
   <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>

  <servlet>
    <servlet-name>springMVC</servlet-name>
       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <init-param>
    <param-name>contextConfigLocation</param-name>
    <!--springMVC配置文件地址,config是src下的包 -->
    <param-value>classpath*:config/springAnnotation-servlet.xml</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
  </servlet>

  <filter>
    <filter-name>encodingFilter</filter-name>
      <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>gbk</param-value>
  </init-param>
  <init-param>
    <param-name>forceEncoding</param-name>
    <param-value>true</param-value>
  </init-param>
  </filter>
    <!-- encoding filter for jsp page -->
  <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <servlet-mapping>
    <servlet-name>springMVC</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <filter>
    <filter-name>openSession</filter-name>
    <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
  </filter>

  <filter-mapping>
    <filter-name>openSession</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

2、springAnnotation-core.xml配置  

  <beans>
    <import resource="classpath*:config/springAnnotation-import.xml"/>
  </beans>

 3、springAnnotation-hibernate.xml配置

  <beans>
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/hollybrain"/>
    <property name="username" value="root"/>
    <property name="password" value="cxf8068221"/>
  </bean>

  <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
  <property name="hibernateProperties">
  <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
    <prop key="hibernate.hbm2ddl.auto">create</prop>
    <prop key="hibernate.show_sql">true</prop>
    <prop key="hiberante.format_sql">true</prop>
  </props>
  </property>
  <property name="configLocations">
  <list>
    <value>
      classpath*:config/hibernate.cfg.test.xml
    </value>
  </list>
  </property>
  </bean>

  <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"></property>
  </bean>

  <bean id="transactionBese" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" lazy-init="true" abstract="true">
    <property name="transactionManager" ref="transactionManager"></property>
    <property name="transactionAttributes">
  <props>
    <prop key="add*">PROPAGATION_REQUIRED,-Exception</prop>
    <prop key="update*">PROPAGATION_REQUIRED,-Exception</prop>
    <prop key="insert*">PROPAGATION_REQUIRED,-Exception</prop>
    <prop key="modify*">PROPAGATION_REQUIRED,-Exception</prop>
    <prop key="delete*">PROPAGATION_REQUIRED,-Exception</prop>
    <prop key="get*">PROPAGATION_NEVER</prop>
  </props>
  </property>
  </bean>

  </beans>

  3、springAnnotation-servlet.xml配置

  

  <!-- 注解扫描包 -->
  <context:component-scan base-package="com.chuck"></context:component-scan>

  <!-- 开启注解 -->
  <mvc:annotation-driven/>

  <!-- 静态资源访问 -->
  <mvc:resources location="/img/" mapping="/img/**"/>
  <mvc:resources location="/js/" mapping="/js/**"/>
  <mvc:resources location="/staticHtml/" mapping="/staticHtml/**"/>

  <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/"></property>
    <property name="suffix" value=".jsp"></property>
  </bean>

  4、hibernate.cfg.test.xml配置 

  <hibernate-configuration>
    <session-factory>
      <mapping class="com.chuck.entity.User"/>
    </session-factory>
  </hibernate-configuration>

  5、springAnnotation-import.xml配置

  <beans>
    <bean id="userDao" class="com.chuck.dao.UserDAO">
      <property name="sessionFactory" ref="sessionFactory"></property>
  </bean>

  <bean id="userManagerBase" class="com.chuck.service.UserManager">
    <property name="userDao" ref="userDao"></property>
  </bean>

  <bean id="userManager" parent="transactionBese">
    <property name="target" ref="userManagerBase"></property>
  </bean>

 </beans>

三、测试类的编写

1、user类

  @Entity
  @Table(name="tb_user")
  public class User {
  @Id
  @GeneratedValue(generator = "system-uuid")
  @GenericGenerator(name = "system-uuid", strategy = "uuid")
  private String userName;
  private String age;
  private String password;
  public String getUserName() {
    return userName;
  }
  public void setUserName(String userName) {
    this.userName = userName;
  }
  public String getAge() {
    return age;
  }
  public void setAge(String age) {
    this.age = age;
  }
  public String getPassword() {
    return password;
  }
  public void setPassword(String password) {
    this.password = password;
  }

  }

2、IUserDAO接口编写

  public interface IUserDAO {
    public void addUser(User user);
  }

3、UserDAO类编写

  public class UserDAO implements IUserDAO {


  private SessionFactory sessionFactory;

  public SessionFactory getSessionFactory() {
    return sessionFactory;
  }

  public void setSessionFactory(SessionFactory sessionFactory) {
    this.sessionFactory = sessionFactory;
  }

  @Override
  public void addUser(User user) {
    sessionFactory.getCurrentSession().save(user);
  }

  }

  4、IUserManager接口编写

  public interface IUserManager {
    public void addUser(User user);
  }

5、UserManager类编写

  public class UserManager implements IUserManager{

    private IUserDAO userDao;

    public IUserDAO getUserDao() {
      return userDao;
    }

    public void setUserDao(IUserDAO userDao) {
      this.userDao = userDao;
    }

    public void addUser(User user) {
    userDao.addUser(user);

    }

  }

  6、LoginController测试类编写

  @Controller
  @RequestMapping("/user")
  public class LoginController extends MultiActionController {


    @Resource(name="userManager")//拿到spring配置文件里的bean
    private IUserManager userManager;

    @RequestMapping("/addUser")
    public String addUser(User user,HttpSession httpSession){
      userManager.addUser(user);
      httpSession.setAttribute("userName",user.getUserName());
      return "/welcome";
    }

  }

7、addUser.jsp页面编写

  <form action="user/addUser" method="post">
    姓名:<input type="text" name="userName"/>
    年龄:<input type="text" name="age"/>
    <input type="submit" value="登陆"/>
    <br/>还没有账号?请点击<a>注册</a>
  </form>

springMvc和Hibernate集成实现用户添加的更多相关文章

  1. SpringMVC 3.2集成Spring Security 3.2

    参考:http://www.cnblogs.com/Beyond-bit/p/springmvc_and_springsecurity.html SpringMVC 3.2集成Spring Secur ...

  2. hibernate集成ehcahe进行缓存管理

    ehcace是现在非常流行的缓存框架,有轻量.灵活.可扩展.支持集群/分布式等优点. 在项目中,使用ehcace可以对数据进行缓存(一般使用.基于注解.基于aop),使用filter可以对页面进行缓存 ...

  3. SpringMVC+Spring+Hibernate个人家庭财务管理系统

    项目描述 Hi,大家好,今天分享的项目是<个人家庭财务管理系统>,本系统是针对个人家庭内部的财务管理而开发的,大体功能模块如下: 系统管理模块 验证用户登录功能:该功能主要是验证用户登录时 ...

  4. Springmvc+Spring+Hibernate搭建方法

    Springmvc+Spring+Hibernate搭建方法及example 前面两篇文章,分别介绍了Springmvc和Spring的搭建方法,本文再搭建hibernate,并建立SSH最基本的代码 ...

  5. Maven搭建springMVC+spring+hibernate环境

    这次不再使用struts2做控制器,采用spring自己的springMVC框架实现. 首先,改写pom.xml文件,不需要struts2的相关jar了. pom.xml <project xm ...

  6. spring(一)--spring/springmvc/spring+hibernate(mybatis)配置文件

    这篇文章用来总结一下spring,springmvc,spring+mybatis,spring+hibernate的配置文件 1.web.xml 要使用spring,必须在web.xml中定义分发器 ...

  7. SpringMVC+Spring+Hibernate整合开发

    最近突然想认真研究下java web常用框架,虽然现在一直在用,但实现的整体流程不是很了解,就在网上搜索资料,尝试自己搭建,以下是自己的搭建及测试过程. 一.准备工作: 1/安装并配置java运行环境 ...

  8. springmvc+spring-data-jpa+hibernate环境搭建与配置

    1.JPA诞生的缘由是为了整合第三方ORM框架,建立一种标准的方式,百度百科说是JDK为了实现ORM的天下归一,目前也是在按照这个方向发展,但是还没能完全实现.在ORM框架中,Hibernate是一支 ...

  9. 使用IntelliJ IDEA开发SpringMVC网站(四)用户管理

    原文:使用IntelliJ IDEA开发SpringMVC网站(四)用户管理 摘要 通过对用户表的管理,更加深入地讲解SpringMVC的操作. 目录[-] 文章已针对IDEA 15做了一定的更新,部 ...

随机推荐

  1. 《剑指offer》面试题2:实现Singleton 模式

    面试题2:实现Singleton 模式 题目:设计一个类,我们只能生成该类的一个实例.   只能生成一个实例的类是实现了Singleton (单例)模式的类型.由于设计模式在面向对象程序设计中起着举足 ...

  2. scanf()格式化输入

    scanf();有种带[]的格式化输出方式 此格式控制符的基本格式为:%[scanfset] #include<stdio.h> int main() { char str[100] ; ...

  3. 实用的 CSS — 贝塞尔曲线(cubic-bezier)

    欢迎移步我的博客阅读:<实用的 CSS - 贝塞尔曲线(cubic-bezier)> 前言 在了解 cubic-bezier 之前,你需要对 CSS3 中的动画效果有所认识,它是 anim ...

  4. pydev+eclipse写python代码

    首先,下载pydev:PyDev for Eclipse - Browse /pydev at SourceForge.net (建议下载到本地,之前看其他文章时,进行了如下安装: 启动 Eclips ...

  5. python-产生每位数字相同的n位数

    读入2个正整数A和B,1<=A<=9, 1<=B<=10,产生数字AA...A,一共B个A 输入格式: 在一行中输入A和B. 输出格式: 在一行中输出整数AA...A,一共B个 ...

  6. executeFind()方法和execute()方法区别

    返回类型不同:executeFind()方法返回集合,execute()方法返回对象 executeFind @Override public List<TCpContact> getCp ...

  7. SpringMVC注解环境搭建

    基本步骤 新建Maven项目(Web) 导入依赖 配置web.xml 配置springmvc配置文件 编写Controller 创建view页面 部署并启动Tomcat 开始搭建 新建Maven项目( ...

  8. DTO数据传输对象详解

    文章目录 一.DTO是什么? 二.DTO解决的问题 三.代码演示 一.DTO是什么? DTO (数据传输对象) 数据传输对象(DTO),是一种设计模式之间传输数据的软件应用系统.数据传输目标往往是数据 ...

  9. linux中sort、uniq、cut、tr、wc命令的使用

    文本处理命令 1.sort命令 使用场景 : 用于将文件内容加以排序(可以和cat一起用) 参数 作用 -n 依照数值的大小排序 -r 以相反的顺序来排序(默认只比较第一个数,-rn是按所有数值比较) ...

  10. Java 在Word指定段落/文本位置插入分页符

    在Word插入分页符可以在指定段落后插入,也可以在特定文本位置处插入.本文,将以Java代码来操作以上两种文档分页需求.下面是详细方法及步骤. [程序环境] 在程序中导入jar,如下两种方法: 方法1 ...