设为首页 收藏本站
查看: 1123|回复: 0

[经验分享] 关于Spring3.x + MyBatis 3.x架构的一点经验

[复制链接]

尚未签到

发表于 2016-11-27 11:04:38 | 显示全部楼层 |阅读模式
  该文章仅为记录自己第一次构建Spring3.x 和 MyBatis3.x的一些经验,为了给很多刚刚接触构建该类项目的朋友借鉴,老鸟请绕道,谢谢!
  1. 准备工作:
  a. spring-framework-3.0.6.RELEASE-with-docs.zip
  spring的包,必须的,这个你懂的,有可能还需要下载一些依赖包,支持Annotation。
  b. mysql-connector-java-5.1.13-bin.jar
  mysql的连接包,若是其他数据库,请下载相应包
  c. commons-logging-1.1.1-bin.zip
  spring框架启动时需要的包,若没有会报错。
  d. mybatis-3.0.6-bundle.zip
  Mybatis核心包,必须的,这个你也懂的。
  e. mybatis-spring-1.0.3-SNAPSHOT.jar
  Mybatis 跟 spring结合需要的一个依赖包。
  f. Commons-dbcp.jar Commons-pool.jar
  数据库链接需要的包
  g. jakarta-log4j-1.2.8.zip
  Log4j日志包,日志必备。O啦!
  2. 创建一个普通的Web Project
  我创建的时候使用了分包形式来做,这样以后便于更好的管理项目,目录结构如下

project结构

--project
   --src/java
       --com.projectname.xxx
          --javaclass
--src/config 
   --config
      --configfile


  3. 将准备好的所有包导入到该project下
  该步骤若是用Myeclipse的话,你可以直接先用ME的Spring插件直接加入Spring Capability,然后再导入其他的包,或者直接解压spring-framework-3.0.6.RELEASE-with-docs.zip 出来,找到dist里面的spring包来导入。建议使用spring Capability来操作,因为有些依赖包Me在此都提供了。
  4. 创建数据库链接信息properties文件
  在config 包下创建。注意,所有在src/config --config包下的文件,访问的路径都是WEB-INF/classes/config
  jdbc.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
user=root
password=root
  5. 创建spring configuration 文件 ApplicationContext.xml  
  该文件因为便于管理,我们也创建到src/config --config包下。
  ApplicationContext.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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- 将数据源参数properties文件交给spring来管理 -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations" value="WEB-INF/classes/config/jdbc.properties" />
</bean>
              <!-- 配置dataSource 数据源及参数 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${user}" />
<property name="password" value="${password}" />
<property name="initialSize" value="60" />
<property name="maxActive" value="100" />
<property name="maxIdle" value="50" />
<property name="minIdle" value="10" />
</bean>
              <!-- MyBatis在spring中Bean的配置 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">   
<property name="configLocation" value="WEB-INF/classes/config/SqlMapConfig.xml" />   
<property name="dataSource" ref="dataSource" />  
</bean>  
<bean id="session" class="org.mybatis.spring.SqlSessionTemplate">   
<constructor-arg index="0" ref="sqlSessionFactory" />  
</bean>
<!-- 具体的Spring管理的Bean -->
<bean id="testDao" class="com.orderme.dao.TestDaoImpl">
<property name="session" ref="session"/>
</bean>
</beans> 
  6. 在web.xml中添加mybatis相关配置
  web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

  <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/classes/config/ApplicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Log4j 配置 -->  
<context-param>   
<param-name>log4jRefreshInterval</param-name>   
<param-value>60000</param-value>  
</context-param>  
<listener>   
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

  <!-- 访问测试的时候添加的servlet配置 -->
<servlet>
<servlet-name>testServlet</servlet-name>
<servlet-class>com.org.tang.servlet.test.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>testServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
  7.  为MyBatis创建配置文件SqlMapConfig.xml
  创建地址也可以是 src/config --config这个文件夹下面
  SqlMapConfig.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>
<!-- 为每一个vo类取一个别名,后面用到的时候可以直接用该vo的别名而不用写全地址 -->
<typeAlias type="com.org.tang.vo.TestVo" alias="TestVo" />
</typeAliases>
<!-- Mapping 具体的每个Object -->
<mappers>
<mapper resource="com/org/tang/dao/mapper/TestVo.xml" />
</mappers>
</configuration>

  8.  配置具体的数据模型和它所对应的 Mapping xml
               注意,以下的数据模型对应的mapping配置只配置了他的插入方法和删除方法。数据模型TestVo就是个简单的javaBean,在此就不贴出代码了。
          TestVo.xml

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-306128-1-1.html 上篇帖子: 多库数据源深入分析(Mybatis+ Spring + JTA)(二) 下篇帖子: MyBatis配置文件修改侦测及重载的实现
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表