`
zengshaotao
  • 浏览: 787212 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

springMVC实例

 
阅读更多

一、项目准备

   jar包:

     mybatis-spring-1.0.1.jar

     mybatis-3.0.5.jars

     spring3.1下的必须包

     数据库驱动

     其他一些零零碎碎的jar包(这些大家都懂的吧)

 

   数据表

   CREATE TABLE `notice` (
  `Author` varchar(255) default NULL,
  `Content` varchar(255) default NULL,
  `Title` varchar(255) default NULL,
  `AddTime` datetime default NULL,
  `NoticeId` int(11) NOT NULL auto_increment,
  PRIMARY KEY  (`NoticeId`)
  ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

 

二、各配置文件

  1. mybatis-config.xml

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration  PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"  "http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
<configuration>
 <typeAliases>
  <typeAlias type="com.huaxin.bean.Notice" alias="notice" />
 </typeAliases>
 <mappers>
  <mapper resource="com/huaxin/bean/notice-mapper.xml" />
 </mappers>
</configuration>

 

2.Notice.java

 

public class Notice implements java.io.Serializable {

 private Integer noticeId;
 private String author;
 private Timestamp addTime;
 private String content;
 private String title;

 public Notice() {
 }

 public String getTitle() {
  return title;
 }

 public void setTitle(String title) {
  this.title = title;
 }

 public Integer getNoticeId() {
  return this.noticeId;
 }

 public void setNoticeId(Integer noticeId) {
  this.noticeId = noticeId;
 }

 public String getAuthor() {
  return this.author;
 }

 public void setAuthor(String author) {
  this.author = author;
 }

 public Timestamp getAddTime() {
  return this.addTime;
 }

 public void setAddTime(Timestamp addTime) {
  this.addTime = addTime;
 }

 public String getContent() {
  return this.content;
 }

 public void setContent(String content) {
  this.content = content;
 }

}

 

3.notice-mapper.xml

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"   
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">

<mapper namespace="com.huaxin.dao.NoticeDao">
 
 <resultMap type="notice" id="noticeResult">
  <result column="NoticeId" property="noticeId" />
  <result column="Title" property="title" />
  <result column="AddTime" property="addTime" />
 </resultMap>
 
 <select id="get" parameterType="int" resultType="notice" resultMap="noticeResult">
  SELECT * FROM notice WHERE NoticeId = #{noticeId} 
 </select>
 <insert id="save" parameterType="notice">
  INSERT INTO notice (NoticeId, Title, AddTime) values (#{noticeId}, #{title}, #{addTime})   
 </insert>
 <delete id="delete" parameterType="int">
  DELETE FROM notice WHERE NoticeId = #{noticeId} 
 </delete>
 
</mapper>

 

4.spring配置文件

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
 <bean id="placeholderConfig"
  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="location">
   <value>classpath:init.properties</value>
  </property>
 </bean>
 <bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"
  destroy-method="close" dependency-check="none">
  <property name="driverClass">
   <value>${datasource.driverClassName}</value>
  </property>
  <property name="jdbcUrl">
   <value>${datasource.url}</value>
  </property>
  <property name="username">
   <value>${datasource.username}</value>
  </property>
  <property name="password">
   <value>${datasource.password}</value>
  </property>

  <property name="idleConnectionTestPeriod">
   <value>${boneCP.idleConnectionTestPeriod}</value>
  </property>

  <property name="idleMaxAge">
   <value>${boneCP.idleMaxAge}</value>
  </property>
  <property name="maxConnectionsPerPartition">
   <value>${boneCP.maxConnectionsPerPartition}</value>
  </property>
  <property name="minConnectionsPerPartition">
   <value>${boneCP.minConnectionsPerPartition}</value>
  </property>
  <property name="partitionCount">
   <value>${boneCP.partitionCount}</value>
  </property>
  <property name="acquireIncrement">
   <value>${boneCP.acquireIncrement}</value>
  </property>
  <property name="statementsCacheSize">
   <value>${boneCP.statementsCacheSize}</value>
  </property>
  <property name="statementsCachedPerConnection">
   <value>${boneCP.statementsCachedPerConnection}</value>
  </property>
  <property name="releaseHelperThreads">
   <value>${boneCP.releaseHelperThreads}</value>
  </property>
 </bean>
 
 <bean id="htm"
  class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  <!-- datasource 配置jdbcTemplate -->
  <property name="dataSource">
   <ref local="dataSource" />
  </property>
 </bean>

 <bean id="txProxyTemplate" abstract="true"
  class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
  <property name="transactionManager">
   <ref bean="htm" />
  </property>
  <property name="transactionAttributes">
   <props>
    <prop key="create*">
     PROPAGATION_REQUIRED,-com.ebay.exception.ApplyException
    </prop>
    <prop key="save*">
     PROPAGATION_REQUIRED,-com.ebay.exception.ApplyException
    </prop>
    <prop key="remove*">
     PROPAGATION_REQUIRED,-com.ebay.exception.ApplyException
    </prop>
    <prop key="update*">
     PROPAGATION_REQUIRED,-com.ebay.exception.ApplyException
    </prop>
    <prop key="delete*">
     PROPAGATION_REQUIRED,-com.ebay.exception.ApplyException
    </prop>
    <prop key="batch*">
     PROPAGATION_REQUIRED,-com.ebay.exception.ApplyException
    </prop>
    <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
   </props>
  </property>
 </bean>

<!-- ibatis配置 -->
  <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
   <!-- <property name="mapperLocations" value="classpath:sample/config/mappers/**/*.xml" -->
    <property name="configLocation" value="classpath:mybatis-config.xml" />
    <property name="dataSource" ref="dataSource" />
  </bean>
 
  <!--
  <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
   <constructor-arg index="0" ref="sqlSessionFactory" />
  </bean>
   -->
 
 <bean abstract="true" lazy-init="true" id="ibatis">
  <property name="sqlSessionFactory" ref="sqlSessionFactory" />
 </bean>
 
  <!-- ==================== End =================== -->
 <bean id="noticeService" parent="txProxyTemplate">
  <property name="target">
   <bean class="com.huaxin.service.NoticeServiceImpl">
    <property name="noticeDao" ref="noticeDao" />
   </bean>
  </property>
 </bean>
 <bean id="noticeDao" parent="ibatis" class="com.huaxin.dao.NoticeDaoImpl"/>
 
 
</beans>

 

5.测试

public class NoticeDaoImpl extends SqlSessionDaoSupport implements NoticeDao {
      //SqlSessionDaoSupport里面有SqlSessionFactory属性
 public Notice get(Integer id) {
  return (Notice) this.getSqlSession().selectOne("com.huaxin.dao.NoticeDao.get", id);
 }

}

分享到:
评论

相关推荐

    SpringMVC 实例

    在这个实例中,我们将深入探讨 SpringMVC 的核心概念、配置、以及如何通过实际操作来创建一个简单的应用程序。 首先,SpringMVC 的核心组件包括 DispatcherServlet(前端控制器)、Controller(控制器)、Model...

    springmvc实例

    在这个"springmvc实例"中,我们可以看到一个简单的 HTTP 接口的实现,通过访问 `http://localhost:8080/jxhService/test/hello` 可以测试其功能。 1. **Spring MVC 架构**: - Spring MVC 提供了一个分层的架构,...

    Ext4+SpringMVC实例Demo源码

    在"Ext4+SpringMVC实例Demo源码"中,我们可以期待看到如何将这两个技术结合,创建一个具有交互性和数据管理功能的Web应用。这个Demo可能包含了以下关键知识点: 1. **Ext4组件使用**:Ext4提供了一系列的UI组件,如...

    简单的SpringMVC实例

    **SpringMVC简介** ...通过上述知识点,我们可以快速搭建并运行一个SpringMVC实例,实现从请求处理到响应的完整流程。在实际项目中,还需要考虑安全性、性能优化等方面,以构建出高质量的Web应用。

    cxf+SpringMVC实例

    【标题】"cxf+SpringMVC实例"探讨了如何将Apache CXF服务框架与SpringMVC进行集成,创建一个高效、灵活的Web服务应用程序。Apache CXF是一个开源的Java框架,它允许开发者构建和消费各种Web服务,包括SOAP和RESTful...

    SpringMvc实例

    这个实例 "SpringMvc实例" 包括了创建基于 Spring MVC 和 JPA 的 Web 应用的基本步骤。文件 "DLJTAQDTJGPT" 可能是项目资源或配置文件的压缩包,但无法提供具体细节,因为它只是一个抽象的文件名。要获取更多信息,...

    SPRINGMVC实例与所需的JAR包

    首先,我们来看一下"SpringMVC实例.docx",这很可能是包含了一个详细的步骤指南,包括创建项目结构、配置SpringMVC的DispatcherServlet、编写控制器、设置视图解析器、以及可能的数据访问层和业务逻辑层的实现。...

    mybaties+springMVC实例

    标题"mybaties+springMVC实例"表明这是一个将MyBatis与SpringMVC整合的实践项目,旨在帮助开发者快速理解和掌握这两个框架的集成使用。 描述中的"这是java中一个简单的mybaties+springMVC的完整实例"提示我们,这个...

    超简单的SpringMVC实例

    现在,我们按照以下步骤创建SpringMVC实例: 1. **创建项目**:在MyEclipse中新建一个Dynamic Web Project,然后添加SpringMVC的依赖库,包括Spring的web、context、web-context和mvc等模块。 2. **配置web.xml**...

    springMVC实例小项目

    总结一下,SpringMVC实例小项目是一个很好的学习平台,它涵盖了SpringMVC的主要组件和核心概念,通过实际操作可以加深对SpringMVC的理解,提升Web应用开发技能。在项目实践中,你会遇到配置、编写Controller、设计...

    springmvc 实例项目简单登录功能

    在本实例项目 "springmvc 实例项目简单登录功能" 中,我们将探讨如何使用 Spring MVC 来实现一个基本的用户登录功能。 首先,我们需要了解 MVC 设计模式。MVC 将应用程序分为三个核心部分:模型(Model)、视图...

Global site tag (gtag.js) - Google Analytics