源码: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. 5. Git初始化及仓库创建和操作

    4. Git初始化及仓库创建和操作 基本信息设置 1. 设置用户名 git config --global user.name 'itcastphpgit1' 2. 设置用户名邮箱 git confi ...

  2. getch()函数的使用方法及其返回值问题

    getch()函数依赖于头文件 conio.h .会在windows平台下从控制台无回显地取一个字符,并且返回读取到的字符. 然而,我在实际用这个函数才发现getch()这个函数并不简单. getch ...

  3. Polymer API开发指南 (二)(翻译)

    公开 property 当你公开一个 Polymer 元素的 property 名字时,就等于把这个 property 设置为公开API了.公开 property 会有如下的特性: 支持声明数据双向绑 ...

  4. 让弹幕给 PPD 生个孩子

    怎样才能跑起来我写的弹幕程序 资源下载 申请野狗后端云账号注册 创建应用: 复制appId到index.html的 var ref = new Wilddog("https://<ap ...

  5. 编写大型项目web页面 从写web登陆页面开始

    web页面搭建需要准备什么工具 首先我们会和设计师沟通 我们需要一些检验设计的工具 ps 自动裁图 自动测量工具 (我这里安利一下一个工具 我用的cutterman) sketch 可以使用阿里的工具 ...

  6. 小程序输入框闪烁BUG解决方案

    前言 本人所说的小程序,都是基于mpvue框架而上的,因此BUG可能是原生小程序的,也有可能是mpvue的. 问题描述 在小程序input组件中,如果使用v-model进行双向绑定,在输入时会出现光标 ...

  7. java中如何能知道应该捕获什么样的异常?举例

    我怎么知道应该捕获什么样的异常? 马克-to-win:如上例1.1:开始没加try时,程序崩溃,系统打印的是如下的错误,Exception in thread "main" jav ...

  8. Android开发小经验

    1. TextView中的getTextSize返回值是以像素(px)为单位的, 而setTextSize()是以sp为单位的. 所以如果直接用返回的值来设置会出错,解决办法是 用setTextSiz ...

  9. M1芯片使用cocoapods 报错[!] Oh no, an error occurred

    [解决方式] 命令行1(编译): sudo arch -x86_64 gem install ffi 命令行2(安装): arch -x86_64 pod install 原出处:https://gi ...

  10. python---运算符和编码

    格式化输出 在输出数据时,会有用户需要输入的信息被输出,没办法预先知道,这就需要使用格式化输出.先在相应位置放置一个占位符,再把字符串里的占位符与外部的变量做个映射关系. name = input(& ...