zoukankan      html  css  js  c++  java
  • Maven+druid+MyBatis+Spring+Oracle+Dubbo开发环境搭建

        1.开发工具使用:

       MyEclipse或Eclipse,数据库使用Oracle。需要用到的软件有Zookeeper(注册中心),Tomcat(Web容器)和Maven(包管理)。

        2.初始环境配置:

       解压zookeeper-3.4.6到自己的安装目录(安装目录中最好不要出现中文)。

       解压apache-maven-3.3.3到自己的安装目录。

       解压apache-tomcat-7.0.63到自己的安装目录。

       3. zookeeper-3.4.6安装与配置

          1)下载zookeeper,

          下载地址:http://zookeeper.apache.org/releases.html

           (该实例使用版本是zookeeper-3.4.6)

          2)修改zookeeper-3.4.6confzoo.cfg

            例如windows下;

            dataDir=E:\wordDubbo\zookeeper-3.4.6\data

            dataLogDir=E:\wordDubbo\zookeeper-3.4.6\log

            预先创建文件夹data和log

           3)启动zookeeper

            例如windows下:zookeeper-3.4.6inzkServer.cmd

        4 . apache-maven-3.3.3安装与配置

            1) MAVEN 下载地址:

             选择 Maven 3.3.3 (Binary tar.gz)   或 Maven 3.3.3 (Binary zip)

            2) 配置系统环境:

             解压:将下载MAVEN (apache-maven-3.3.3)压缩包进行解压放置在 D盘根目录下。

             设置环境变量:计算机环境变量(系统变量部分) -> 新建变量名" MAVEN_HOME ",变量值:" D:apache-maven-3.3.3 "  确定(保存),更改path: 在末尾追加 ” %MAVEN_HOME%in ;“。

             打开cmd 命令输入 ”  MVN -V “ 命令行出现, MAVEN 3.3.3 版本号,系统环境配置成功。

            3)更改maven 的仓库默认存放地址

             修改D:apache-maven-3.3.3 下的 conf 文件夹下的 settings.xml 文件

             更改localRepository 配置节 :

              <localRepository>E:/workspace/maven/repo</localRepository>

            4)下载相关包

             在 cmd 中敲并回车执行:mvn help:system

           5) 在Myeclipse 中使用Maven

               打开myeclipse2014 选择 window -> prefences -> MyEclipse 下的-> Maven4MyEclipse 

              (1)修改 " Maven4MyEclipse" 下的Installations 点击 ” Add “ 选择目录 ” D:apache-maven-3.3.3“ 

                Global settings from installationdirectory( open file) 选择D:apache-maven-3.3.3confsettings.xml

              (2)修改 " Maven4MyEclipse" 下的 User Settings  下的 User Settings 属性” D:apache-maven-3.3.3confsettings.xml“ ,保存确认。

        5 . apache-tomcat-7.0.63安装与配置

          准备:

        1)安装好java的JDK

        2)下载好tomcat:版本为apache-tomcat-7.0.63,并解压到硬盘中。

        配置步骤:

          1)JDK:

        (1)新建变量名:JAVA_HOME,

          变量值:D:Program FilesJavajdk1.7.0_25

        (2)打开PATH,添加变量值:

          %JAVA_HOME%in;%JAVA_HOME%jrein

           (3)新建变量名:CLASSPATH,变量值:

           %JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;

          备注:

          (1).表示当前路径,%JAVA_HOME%就是引用前面指定的JAVA_HOME;

          (2)JAVA_HOME指明JDK安装路径,此路径下包括lib,bin,jre等文件夹,tomcat,eclipse等的运行都需要依靠此变量。

         (3)PATH使得系统可以在任何路径下识别java命令。

         (4)CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别。

         2)配置Tomcat环境变量

        (1)新建变量名:CATALINA_BASE,变量值:apache-tomcat-7.0.63

        (2)新建变量名:CATALINA_HOME,变量值:apache-tomcat-7.0.63

        (3)打开PATH,添加变量值:

          %CATALINA_HOME%lib;%CATALINA_HOME%in

       6. 新建Maven工程:(注:直接导工程请跳过此步骤)

            File->New->Maven Project

          添加本地Maven环境依赖:

          Windows->Preferences->MyEclipse->Maven4MyEclipse->Installations->add->选择本地apache-maven-3.3.3安装路径->apply->UseSetting修改为本地。

        7.工程结构:

          

       8. Maven pom.xml文件配置:

          备注:搭建中如果报错,引入dubbo.xsd离线文件,

        不能识别:dubbo:application标签

        下载dubbo.xsd

          windows->preferences->MyEclicpse->XML->XMLCatalog

          Add->UserSpecified Entries->http://code.alibabatech.com/schema/dubbo/dubbo.xsd

        9.Spring配置:Spring.Xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
     4     xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
     5     xmlns:util="http://www.springframework.org/schema/util"
     6     xsi:schemaLocation="
     7           http://www.springframework.org/schema/beans
     8           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
     9        http://www.springframework.org/schema/tx
    10        http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
    11        http://www.springframework.org/schema/aop
    12        http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
    13        http://www.springframework.org/schema/util
    14        http://www.springframework.org/schema/util/spring-util-3.1.xsd
    15        http://www.springframework.org/schema/context
    16        http://www.springframework.org/schema/context/spring-context-3.0.xsd">
    17     
    18     <aop:aspectj-autoproxy/>
    19     <!-- 自动扫描含有@Service将其注入为bean -->
    20     <context:component-scan base-package="com.ouc.service"/>    
    21     <context:component-scan base-package="com.ouc.service.impl"/>
    22     
    23     <!--  
    24     <import resource="spring-mvc.xml"/>
    25     <import resource="spring-mybatis.xml"/>
    26     -->
    27     
    28     <context:annotation-config />
    29     <!--引入配置属性文件  -->
    30     <context:property-placeholder location="classpath:jdbc.properties"/>
    31 </beans>
    View Code

         10. Spring-mybatis配置:Spring-mybatis.Xml

      1 <?xml version="1.0" encoding="UTF-8"?>
      2 <beans xmlns="http://www.springframework.org/schema/beans"    
      3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
      4     xmlns:p="http://www.springframework.org/schema/p"  
      5     xmlns:aop="http://www.springframework.org/schema/aop"
      6     xmlns:cache="http://www.springframework.org/schema/cache"
      7     xmlns:task="http://www.springframework.org/schema/task"   
      8     xmlns:context="http://www.springframework.org/schema/context"  
      9     xmlns:jee="http://www.springframework.org/schema/jee"  
     10     xmlns:tx="http://www.springframework.org/schema/tx"  
     11     xsi:schemaLocation="    
     12         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
     13         http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-4.0.xsd
     14         http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd  
     15         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd  
     16         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd  
     17         http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd  
     18         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">    
     19     
     20     <!-- JNDI方式配置数据源 -->
     21     <!-- <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="${jndiName}"></property> </bean> -->
     22     
     23     <!-- ========================================配置数据源========================================= -->
     24     <!-- 配置数据源,使用的是alibaba的Druid(德鲁伊)数据源 -->
     25     
     26     <bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
     27         <property name="driverClassName" value="${jdbc.driverClassName}" />
     28         <property name="url" value="${jdbc.url}" />
     29         <property name="username" value="${jdbc.username}" />
     30         <property name="password" value="${jdbc.password}" />
     31 
     32         <!-- 初始化连接大小 -->
     33         <property name="initialSize" value="${jdbc.initialSize}" />
     34         <!-- 连接池最大使用连接数量 -->
     35         <property name="maxActive" value="${jdbc.maxActive}" />
     36         <!-- 连接池最小空闲 -->
     37         <property name="minIdle" value="${jdbc.minIdle}" />
     38         <!-- 获取连接最大等待时间 -->
     39         <property name="maxWait" value="${jdbc.maxWait}" />
     40 
     41         <property name="validationQuery" value="${jdbc.validationQuery}" />
     42         <property name="testOnBorrow" value="${jdbc.testOnBorrow}" />
     43         <property name="testOnReturn" value="${jdbc.testOnReturn}" />
     44         <property name="testWhileIdle" value="${jdbc.testWhileIdle}" />
     45 
     46         <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
     47         <property name="timeBetweenEvictionRunsMillis" value="${jdbc.timeBetweenEvictionRunsMillis}" />
     48         <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
     49         <property name="minEvictableIdleTimeMillis" value="${jdbc.minEvictableIdleTimeMillis}" />
     50 
     51         <!-- 打开removeAbandoned功能 -->
     52         <property name="removeAbandoned" value="${jdbc.removeAbandoned}" />
     53         <!-- 1800秒,也就是30分钟 -->
     54         <property name="removeAbandonedTimeout" value="${jdbc.removeAbandonedTimeout}" />
     55         <!-- 关闭abanded连接时输出错误日志 -->
     56         <property name="logAbandoned" value="${jdbc.logAbandoned}" />
     57 
     58         <!-- 监控数据库 -->
     59         <property name="filters" value="${jdbc.filters}" />
     60     </bean>
     61     
     62     <!-- ========================================分隔线============================ -->
     63     
     64     <!-- =================================针对myBatis的配置项======================= -->
     65     
     66     <!-- 配置 sqlSessionFactory-->
     67     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
     68         <!-- 实例化sqlSessionFactory时需要使用上述配置好的数据源以及SQL映射文件 -->
     69         <property name="dataSource" ref="dataSource" />
     70         
     71         <!-- 自动扫描com/ouc/mapping/目录下的所有SQL映射的xml文件, 省掉Configuration.xml里的手工配置
     72         value="classpath:com/ouc/mapping/*.xml"指的是classpath(类路径)下com.ouc.mapping包中的所有xml文件
     73         UserMapper.xml位于com.ouc.mapping包下,这样UserMapper.xml就可以被自动扫描
     74         -->
     75         
     76         <property name="mapperLocations" value="classpath:com/ouc/mapping/*.xml" />
     77         <property name="typeAliasesPackage" value="com.ouc.model" />
     78         <property name="configLocation" value="classpath:mybatis-configure.xml" />
     79     </bean>
     80     
     81     <!-- 配置 扫描器-->
     82     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
     83         <!-- 扫描com.ouc.dao这个包以及它的子包下的所有映射接口类 -->
     84         <property name="basePackage" value="com.ouc.dao" />
     85         <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
     86     </bean>
     87     
     88     <!-- ========================================分隔线============================ -->
     89     
     90     <!-- 配置Spring的事务管理 -->
     91     <bean id="transactionManager"
     92         class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
     93         <property name="dataSource" ref="dataSource" />
     94     </bean>
     95    
     96     
     97 <!-- 注解方式配置事物 -->
     98     <!-- <tx:annotation-driven transaction-manager="transactionManager" /> -->
     99    
    100     <!-- 拦截器方式配置事物 -->
    101     <!--  
    102     <tx:advice id="transactionAdvice" transaction-manager="transactionManager">
    103         <tx:attributes>
    104             <tx:method name="add*" propagation="REQUIRED" />
    105             <tx:method name="append*" propagation="REQUIRED" />
    106             <tx:method name="insert*" propagation="REQUIRED" />
    107             <tx:method name="save*" propagation="REQUIRED" />
    108             <tx:method name="update*" propagation="REQUIRED" />
    109             <tx:method name="modify*" propagation="REQUIRED" />
    110             <tx:method name="edit*" propagation="REQUIRED" />
    111             <tx:method name="delete*" propagation="REQUIRED" />
    112             <tx:method name="remove*" propagation="REQUIRED" />
    113             <tx:method name="repair" propagation="REQUIRED" />
    114             <tx:method name="delAndRepair" propagation="REQUIRED" />
    115 
    116             <tx:method name="get*" propagation="SUPPORTS" />
    117             <tx:method name="find*" propagation="SUPPORTS" />
    118             <tx:method name="load*" propagation="SUPPORTS" />
    119             <tx:method name="search*" propagation="SUPPORTS" />
    120             <tx:method name="datagrid*" propagation="SUPPORTS" />
    121 
    122             <tx:method name="*" propagation="SUPPORTS" />
    123         <:attributes>
    124     <:advice>
    125     
    126     <aop:config>
    127         <aop:pointcut id="transactionPointcut" expression="execution(* com.ouc.service..*Impl.*(..))" />
    128         <aop:advisor pointcut-ref="transactionPointcut" advice-ref="transactionAdvice" />
    129     </aop:config>
    130     -->
    131     
    132     <!-- 配置druid监控spring jdbc -->
    133     <!--  
    134     <bean id="druid-stat-interceptor" class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor">
    135     </bean>
    136     
    137     <bean id="druid-stat-pointcut" class="org.springframework.aop.support.JdkRegexpMethodPointcut" scope="prototype">
    138         <property name="patterns">
    139             <list>
    140                 <value>com.ouc.service.*<alue>
    141             <st>
    142         </property>
    143     </bean>
    144     
    145     <aop:config>
    146         <aop:advisor advice-ref="druid-stat-interceptor" pointcut-ref="druid-stat-pointcut" />
    147     </aop:config>
    148     -->
    149 </beans>
    View Code

       11.Spring-druid配置:Spring-druid.Xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"    
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
     4     xmlns:p="http://www.springframework.org/schema/p"  
     5     xmlns:aop="http://www.springframework.org/schema/aop"
     6     xmlns:cache="http://www.springframework.org/schema/cache"
     7     xmlns:task="http://www.springframework.org/schema/task"   
     8     xmlns:context="http://www.springframework.org/schema/context"  
     9     xmlns:jee="http://www.springframework.org/schema/jee"  
    10     xmlns:tx="http://www.springframework.org/schema/tx"  
    11     xsi:schemaLocation="    
    12         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
    13         http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-4.0.xsd
    14         http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd  
    15         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd  
    16         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd  
    17         http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd  
    18         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">   
    19 
    20     <!-- 配置druid监控spring jdbc -->
    21     <bean id="druid-stat-interceptor" class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor" />
    22 
    23     <bean id="druid-stat-pointcut" class="org.springframework.aop.support.JdkRegexpMethodPointcut" scope="prototype">
    24         <property name="patterns">
    25             <list>
    26                 <value>com.ouc.service.*</value>
    27             </list>
    28         </property>
    29     </bean>
    30     <aop:config>
    31         <aop:advisor advice-ref="druid-stat-interceptor" pointcut-ref="druid-stat-pointcut" />
    32     </aop:config>
    33 
    34 </beans>
    View Code

      12.Spring-dubbo配置:Spring-dubbo.Xml (备注:提供者的配置)

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     4     xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
     5     xsi:schemaLocation="http://www.springframework.org/schema/beans
     6         http://www.springframework.org/schema/beans/spring-beans.xsd
     7         http://code.alibabatech.com/schema/dubbo
     8         http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
     9 
    10     <!-- 提供方应用信息,用于计算依赖关系 -->
    11     <dubbo:application name="U-LabProvider" />
    12 
    13     <!-- 使用multicast广播注册中心暴露服务地址 <dubbo:registry address="multicast://224.5.6.7:1234" /> -->
    14 
    15     <dubbo:registry address="zookeeper://127.0.0.1:2181"></dubbo:registry>
    16 
    17     <!-- 用dubbo协议在20880端口暴露服务 -->
    18     <dubbo:protocol name="dubbo" port="20880" />
    19     
    20     <!-- 声明需要暴露的服务接口 -->
    21     <dubbo:service interface="com.ouc.service.BranchCompanyService" ref="braComService"/>
    22 </beans>
    View Code

         13. jdbc.properties配置:jdbc.properties

     1 jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
     2 jdbc.url=jdbc:oracle:thin:@222.195.151.239:1521:orcl
     3 jdbc.username=ULab
     4 jdbc.password=ouccs
     5 jdbc.initialSize=2
     6 jdbc.maxActive=300
     7 jdbc.minIdle=0
     8 jdbc.maxWait=60000
     9 jdbc.validationQuery=SELECT 1 FROM DUAL
    10 jdbc.testOnBorrow=false
    11 jdbc.testOnReturn=false
    12 jdbc.testWhileIdle=true
    13 jdbc.timeBetweenEvictionRunsMillis=60000
    14 jdbc.minEvictableIdleTimeMillis=25200000
    15 jdbc.removeAbandoned=true
    16 jdbc.removeAbandonedTimeout=1800
    17 jdbc.logAbandoned=true
    18 jdbc.poolPreparedStatements=true
    19 jdbc.maxOpenPreparedStatements=200
    20 jdbc.filters=stat

         jdbc.driverClassName:数据库驱动程序名称

         jdbc.url:连接字符串

      14. log4j.properties配置:log4j.properties,该文件无需修改,直接拷贝即可。

     1 log4j.rootLogger=INFO,stdout,logfile
     2 
     3 log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
     4 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
     5 log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n  
     6 
     7 log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
     8 log4j.appender.logfile.File=/U-Lab/local/log/maven
     9 log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
    10 log4j.appender.logfile.DatePattern='_'yyyy-MM-dd'.log'
    11 log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %c.%M(%L) - %m%n
    12   
    13 log4j.logger.com.ibatis=debug
    14 log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug
    15 log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug
    16 log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug
    17 log4j.logger.java.sql.Connection=debug
    18 log4j.logger.java.sql.Statement=debug
    19 log4j.logger.java.sql.PreparedStatement=debug,stdout
    20 
    21 log4j.logger.jdbc.sqlonly=OFF
    22 log4j.logger.jdbc.sqltiming=OFF
    23 log4j.logger.jdbc.audit=OFF
    24 log4j.logger.jdbc.resultset=OFF
    25 log4j.logger.jdbc.connection=OFF

      15.新建src/main/java资源文件,新建src/main/resources资源文件,新建src/test/java资源文件,新建src/test/resources资源文件.

         在src/main/java资源文件下新建如下包:

        com.ouc.model

        com.ouc.service

        com.ouc.service.impl

        com.ouc.dao

        com.ouc.mapping

        com.ouc.controller

        com.ouc.test

        com.ouc.main

       类的示例:例子中只用到与BranchCompany有关的类,其他类不需新建,我新建是项目所需。

       16. 例子中只用到与BranchCompany有关的类

      (1)model数据实体类:BranchCompany

     1 package com.ouc.model;
     2 
     3 import java.io.Serializable;
     4 
     5 /* ----模块商分公司------------
     6  * 
     7  */
     8 
     9 public class BranchCompany implements Serializable {
    10     
    11     private static final long serialVersionUID = 1L;
    12     
    13     private Integer id;                      //分公司ID
    14     private String name;                     //分公司名称
    15     private String address;                  //地址   
    16     private String telNumber;                //联系方式   
    17     private String moduleNo;                 //模块商编号
    18     private Integer labId;                   //实验室ID
    19     private String remark;                   //备注
    20     
    21     public Integer getId() {
    22         return id;
    23     }
    24     public void setId(Integer id) {
    25         this.id = id;
    26     }
    27     
    28     public String getName() {
    29         return name;
    30     }
    31     public void setName(String name) {
    32         this.name = name;
    33     }
    34     
    35     public String getAddress() {
    36         return address;
    37     }
    38     public void setAddress(String address) {
    39         this.address = address;
    40     }
    41     
    42     public String getTelNumber() {
    43         return telNumber;
    44     }
    45     public void setTelNumber(String telNumber) {
    46         this.telNumber = telNumber;
    47     }
    48     
    49     public String getModuleNo() {
    50         return moduleNo;
    51     }
    52     public void setModuleNo(String moduleNo) {
    53         this.moduleNo = moduleNo;
    54     }
    55     
    56     public Integer getLabId() {
    57         return labId;
    58     }
    59     public void setLabId(Integer labId) {
    60         this.labId = labId;
    61     }
    62     
    63     public String getRemark() {
    64         return remark;
    65     }
    66     public void setRemark(String remark) {
    67         this.remark = remark;
    68     }
    69 }
    View Code

      (2)服务接口类:BranchCompanyService

     1 package com.ouc.service;
     2  
     3 importjava.util.List;
     4 importcom.ouc.model.BranchCompany;
     5  
     6 public interface BranchCompanyService {
     7    
     8    public List<BranchCompany> getBranchCompanys();
     9   
    10    public int saveBranchCompany(BranchCompanybranchCompany);
    11 }
    View Code

       (3)服务接口实现类:BranchCompanySerImpl

     1 package com.ouc.service.impl;
     2  
     3 importcom.ouc.dao.BranchCompanyMapper;
     4 import com.ouc.model.BranchCompany;
     5 importcom.ouc.service.BranchCompanyService;
     6  
     7 importjava.util.List;
     8  
     9 importjavax.annotation.Resource;
    10 importorg.springframework.stereotype.Service;
    11  
    12 @Service("braComService")
    13 /* 此处注解在Spring-Dubbo.xml文件中用到:
    14 <!--声明需要暴露的服务接口 -->
    15    <dubbo:serviceinterface="com.ouc.service.BranchCompanyService"ref="braComService"/>
    16 */
    17  
    18 public class BranchCompanySerImplimplements BranchCompanyService{
    19   
    20    @Resource  BranchCompanyMapperbranchCompanyMapper;
    21  
    22    @Override
    23    public List<BranchCompany> getBranchCompanys()
    24    {
    25       return branchCompanyMapper.getBraComsFromDataBase();
    26    }
    27   
    28    @Override
    29    public int saveBranchCompany(BranchCompanybranchCompany)
    30    {
    31       return branchCompanyMapper.insertBranchCompany(branchCompany);
    32    }
    33 }
    View Code

        (4)数据库操作接口dao类:BranchCompanyMapper

     1 package com.ouc.dao;
     2  
     3 importjava.util.List;
     4 importcom.ouc.model.BranchCompany;
     5  
     6 public interface BranchCompanyMapper {
     7   
     8       int insertBranchCompany(BranchCompanybranchCompany);
     9       
    10       public List<BranchCompany> getBraComsFromDataBase();
    11 }
    View Code

        (5)数据库SQL语句XML:BranchCompanyMapper.Xml

     1 <?xmlversion="1.0"encoding="UTF-8"?>
     2 <!DOCTYPEmapperPUBLIC "-//mybatis.org//DTDMapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
     3 <mappernamespace="com.ouc.dao.BranchCompanyMapper">
     4  
     5 <!--
     6 <resultMapid="BraComResultMap" type="com.ouc.model.BranchCompany">
     7       <id column="id"property="id" jdbcType="INTEGER" />
     8       <result column="name"property="name" jdbcType="VARCHAR" />
     9       <result column="address"property="address" jdbcType="VARCHAR" />
    10       <result column="telNumber"property="telNumber" jdbcType="VARCHAR" />
    11       <result column="moduleNo"property="moduleNo" jdbcType="VARCHAR" />
    12       <result column="labId"property="labId" jdbcType="INTEGER" />
    13       <result column="remark"property="remark" jdbcType="VARCHAR" />
    14 </resultMap>
    15 -->
    16  
    17 <cachetype="org.mybatis.caches.ehcache.LoggingEhcache"> 
    18     <propertyname="timeToIdleSeconds"value="3600"/>
    19     <propertyname="timeToLiveSeconds"value="3600"/>
    20     <propertyname="maxEntriesLocalHeap"value="1000"/> 
    21     <propertyname="maxEntriesLocalDisk"value="10000000"/> 
    22     <propertyname="memoryStoreEvictionPolicy"value="LRU"/> 
    23 </cache>
    24  
    25 <insertid="insertBranchCompany"parameterType="com.ouc.model.BranchCompany"useGeneratedKeys="true"keyProperty="id"flushCache="true">
    26       insert into BranchCompany (
    27       id,name,address,telNumber,moduleNo,labId,remark)
    28       values (
    29       #{id},
    30       #{name},
    31       #{address},
    32       #{telNumber},
    33       #{moduleNo},
    34       #{labId},
    35       #{remark}
    36       )
    37    </insert>
    38   
    39    <selectid="getBraComsFromDataBase"resultType="com.ouc.model.BranchCompany">
    40       select * from BranchCompany
    41    </select>
    42 </mapper> 
    View Code

       (6)运行控制类:BranchCompanyController

     1 package com.ouc.controller;
     2  
     3 importjavax.annotation.Resource;
     4 importjava.util.List;
     5 importorg.springframework.stereotype.Controller;
     6 importorg.springframework.web.bind.annotation.RequestMapping;
     7 importorg.springframework.web.bind.annotation.ResponseBody;
     8  
     9 importcom.ouc.service.BranchCompanyService;
    10 importcom.ouc.model.BranchCompany;
    11  
    12 @Controller 
    13 @RequestMapping("/BranchCompanyController")
    14 public classBranchCompanyController {
    15    @Resource
    16    private BranchCompanyService braComService;
    17    
    18     @RequestMapping(value ="/BraCom_view")
    19     public @ResponseBody ObjectGetBranchCompany(){
    20       List<BranchCompany>braComs=braComService.getBranchCompanys();
    21       returnbraComs;
    22     }
    23 }
    View Code

       17.测试类:Provider

     1 package com.ouc.test;
     2  
     3 importorg.springframework.context.support.ClassPathXmlApplicationContext;
     4 importcom.ouc.model.*;
     5 import com.ouc.service.*;
     6  
     7 public classProvider {
     8    private static BranchCompanyServicebraComService;
     9   
    10    public static void main(String[] args) throwsException {
    11      
    12       ClassPathXmlApplicationContext cxt = newClassPathXmlApplicationContext(
    13            newString[]{"classpath:spring.xml","classpath:spring-mybatis.xml","classpath:spring-dubbo.xml"},true);
    14      
    15       cxt.start();
    16       /*braComService =(BranchCompanyService)cxt.getBean("braComService");
    17      
    18       BranchCompany braCom = newBranchCompany();
    19       braCom.setName("Hai");
    20       braCom.setId(1);
    21       braCom.setLabId(2);
    22       braCom.setAddress("SSdsg");
    23       braCom.setModuleNo("SSS2000");
    24       braCom.setTelNumber("125604");
    25       braCom.setRemark(" ");
    26       braComService.saveBranchCompany(braCom);
    27       */
    28    }
    29 }
    View Code

        运行 D:Javazookeeper-3.4.6in下的zkServer

           zookeeper-3.4.6 ,apache-maven-3.3.3 ,apache-tomcat-7.0.63三个软件需要配置,请自行网上百度。

        安装配置dubbo-admin-2.5.4

           示例路径如下:

           D:Javaapache-tomcat-7.0.63webappsdubbo-admin-2.5.4

        运行Provider,浏览器输入:http://localhost:8090/ dubbo-admin-2.5.4查看服务发布结果。

           我修改了tomcat的端口,未修改的上面端口为8080.

        Maven编译时主要是包的导入问题,如果无法在线下载包,请手动添加到对应路径。

         相关学习网址:

          SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

          http://blog.csdn.net/zhshulin/article/details/37956105?utm_source=tuicool

          MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合

          http://www.cnblogs.com/xdp-gacl/p/4271627.html

  • 相关阅读:
    互动留言赠书:《Oracle高性能系统实战大全》
    超融合硬件损坏导致Oracle RAC异常恢复实录
    架构师不得不了解的硬件知识
    加班做的可视化被老板嫌弃,是因为你不会用这些数据工具
    iOS开发之七:常用控件--UISlider、UISegmentedControl、UIPageControl的使用
    iOS开发之六:常用控件--UIImageView的使用
    iOS开发之五:常用控件--UITextField的使用
    Objective-C实现常用的4种排序算法
    C语言实现4种常用排序
    面试常用的4种数组排序
  • 原文地址:https://www.cnblogs.com/wp5719/p/5259865.html
Copyright © 2011-2022 走看看