SpringMVC+Spring4+hibernate4实例

来源:互联网 发布:犀牛之星数据库 编辑:程序博客网 时间:2024/04/29 20:34

1、配置applicationContext.xml 


<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">       <!--扫描类包,将标注Spring注解的类自动转化Bean,同时完成Bean的注入--><context:component-scan base-package="project.userinfo.*"></context:component-scan>   <!-- 导入外部的properties文件 , 数据库配置 -->    <context:property-placeholder location="classpath:db.properties" /><!-- 配置数据源 --><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="username" value="${jdbc.user}"></property><property name="password" value="${jdbc.password}"></property><property name="driverClassName" value="${jdbc.driverClassName}"></property><property name="url" value="${jdbc.url}"></property></bean><!-- 配置SessionFactory --><bean id="sessionFactory"class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"><!-- 配置数据源属性 --><property name="dataSource" ref="dataSource"></property><property name="packagesToScan">            <list>                <!-- 可以加多个包 -->                <value>project.userinfo.domain</value>            </list>        </property><!-- 配置Hibernate方言、SQL显示 --><property name="hibernateProperties"><props>                <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext                  </prop>  <!-- 数据库的方言 --><!-- MySql方言--><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><!-- Oracle方言 --><!-- <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop> --><prop key="hibernate.hbm2ddl.auto">update</prop><prop key="hibernate.show_sql">true</prop><prop key="hibernate.format_sql">true</prop></props></property>        <!-- 配置实体类 -->        <property name="annotatedClasses">            <list>                <value>project.userinfo.domain.User</value>            </list>        </property></bean><!-- 配置Hibernate 的事物管理器 --><bean id="transactionManager"class="org.springframework.orm.hibernate4.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory"></property></bean><!-- 开启事务 --><!-- <tx:annotation-driven transaction-manager="transactionManager"/> --><!-- 配置事务属性 -->    <tx:advice id="txAdvice" transaction-manager="transactionManager">        <tx:attributes>            <tx:method name="get*" propagation="REQUIRED"/>             <tx:method name="save*" propagation="REQUIRED"/>             <tx:method name="add*" propagation="REQUIRED"/>             <tx:method name="create*" propagation="REQUIRED"/>             <tx:method name="insert*" propagation="REQUIRED"/>             <tx:method name="*" read-only="true" />        </tx:attributes>    </tx:advice>     <!-- 配置事务的的切点AOP,并把事务属性与切点关联起来 -->     <aop:config proxy-target-class="true">        <aop:pointcut expression="execution(* com.ytx.service.impl.*.*(..))" id="pointcut"/>        <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut"/>     </aop:config></beans>


2、spring-mvc.xml


<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"><!-- 包下所有类扫描,以完成Bean创建和自动依赖注入的功能 --><context:component-scan base-package="project.*"/><!-- 在实际开发中通常都需要配置 mvc:annotation-driven 标签 --><mvc:annotation-driven/><mvc:resources location="/js/" mapping="/js/**"/><mvc:resources location="/css/" mapping="/css/**"/><mvc:resources location="/images/" mapping="/images/**"/><mvc:resources location="/" mapping="/**"></mvc:resources>     <!-- 定义视图解析器 -->        <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->        <property name="prefix" value="/jsp/"></property>        <property name="suffix" value=".jsp"></property>    </bean> </beans>  

3、register.jsp 页面  使用了 bootstrap 样式插件


<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%  String path = request.getContextPath();    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="<%=basePath%>css/register.css" />   <!-- Bootstrap --><link href="<%=basePath%>bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen"><title>所有网注册</title></head><body><div class="layout"><div class="header">头部</div><div class="content"><div class="regForm"><div class="regTips"><h4 class="style-code">账号注册</h4></div><div class="regInput-name"><div class="controls input-prepend"><span class="height-ico add-on"><i class="user-ico user-icon-login"></i></span><input type="text" class="all-input-name" name="loginName" id="loginName" placeholder="请输入用户名"></div></div><div class="regInput-pass"><div class="controls input-prepend"><span class="add-on"><i class="user-ico user-icon-pass"></i></span><input type="text" class="all-input-name" name="loginPass" id="loginPass" placeholder="请输入密码"></div></div><div class="regInput-confirm"><div class="controls input-prepend"><span class="add-on"><i class="user-ico user-icon-pass2"></i></span><input type="text" class="all-input-name" name="loginconfirm" id="loginconfirm" placeholder="请再次输入密码"></div></div><div class="regInput-email"><div class="controls input-prepend"><span class="add-on"><i class="user-ico user-icon-email"></i></span><input type="text" class="all-input-name" name="loginemail" id="loginemail" placeholder="请输入邮箱"></div></div><div class="regInput-Verifcode"><div class="controls-verfcode input-prepend"><span class="add-on"><i class="user-ico user-icon-verify"></i></span><input type="text" class="all-input-Verifcode" name="loginVerifcode" id="loginVerifcode" placeholder="请输入验证码"></div></div><div class="regInput-submit"><a href="JavaScript:;" class="all-input-submit" id="subbtn"   onclick="submit();">注册</a></div></div></div><div class="foot"></div></div></body></html>

4、register.css 样式 

@CHARSET "UTF-8";*{margin:0 auto;padding:0 auto;}body{width:800px;height:600px;background:#139A6C;}.layout{width:780px;background:#F8F8F8;position: relative;margin:0 300px;}.header{height:120px;background:#888;}.content{width:480px;height:500px;padding: 10px;    background: #fff;    border-radius: 10px;position:relative;z-index:2;}.regForm{height:500px;}.regTips{height:60px;}.style-code{margin-left:30px;line-height:60px;}.regInput-name{height:60px;text-align:center;}.regInput-pass{height:60px;text-align:center;}.regInput-confirm{height:60px;text-align:center;}.regInput-email{height:60px;text-align:center;}.regInput-Verifcode{height:60px;}.regInput-submit{height:60px;}.all-input-name{padding: 8px;    width: 275px;    border-radius: 10px;    z-index:2;position:relative;    font-family: "Microsoft YaHei", "微软雅黑", verdana, sans-serif;}.all-input-Verifcode{padding: 8px;    width: 155px;    border-radius: 3px;    border:#ccc 1px solid;position:relative;    z-index:2;    font-family: "Microsoft YaHei", "微软雅黑", verdana, sans-serif;}.all-input-submit{display: block;    background-color: #8BCF7B;    color: #fff;    text-align: center;    padding: 10px 0;    border-radius: 4px;    font-size: 18px;    position:relative;    top:14%;width:68%;    text-align:center;    height:auto;    text-decoration:none;    }.user-ico{background-image: url(../img/sf-icon.png);    background-repeat: no-repeat;    display: block;    margin-top:-5px;}.user-icon-login {width: 30px;    height: 30px;    background-position: -50px -160px;}.user-icon-pass {width: 30px;    height: 30px;    background-position: -80px -160px;}.user-icon-pass2{width: 30px;    height: 30px;    background-position: -170px -160px;}.user-icon-email{width: 30px;    height: 30px;    background-position: -140px -160px;}.user-icon-verify{width: 30px;    height: 30px;    background-position: -110px -160px;}.controls{*display:inline-block;margin-top:16px;}.controls-verfcode{*display:inline-block;margin-top:16px;margin-left:75px;}.foot{height:34px;background-color:#888;}


5、UserController.java

/** *  *//** * @author 89003422 * */package project.userinfo.controller;import java.util.List;import org.hibernate.cfg.Configuration;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;import project.userinfo.domain.User;import project.userinfo.service.UserService;@Controllerpublic class UserController{    @Autowired    private UserService userService;    @RequestMapping("/userList")    public ModelAndView userList(Model model){    System.out.println("--->开始执行control userList方法");        List<User> userList = userService.getUserList();        model.addAttribute("userList",userList);        System.out.println("开始返回查询结果-->start");        return new ModelAndView("list","model",model);    }}  

6、UserDaoImpl.java


/** *  *//** * @author 89003422 * */package project.userinfo.dao.impl;import java.util.Iterator;import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Repository;import project.userinfo.dao.UserDao;import project.userinfo.domain.User;@Repository("userDao")public class UserDaoImpl implements UserDao{    @Autowired    private SessionFactory sessionFactory;    @Override    public List<User> getUserList() {    System.out.println("--->查询数据");    Session session = sessionFactory.openSession();    Transaction ts = session.beginTransaction();    Query query = session.createSQLQuery("select * from t_user").addEntity(User.class); //返回对象    ts.commit();    List  list = query.list(); /*        String hql = "from T_USER";        sessionFactory.toString();        Query query = sessionFactory.getCurrentSession().createQuery(hql);*/    System.out.println("List 结果集: "+list.toString());            Iterator itor=list.iterator();        while(itor.hasNext()){        User user=(User)itor.next();            System.out.println(user.getId()+"\t "+user.getUserName()+"\t "+user.getAge());        }    session.close();        return list;    }}

7、其他省略了。



0 0
原创粉丝点击