之前都在做平台类的项目,因为最近有个海外项目要急着上线,但是微服务改造计划还没完完成,只能由我来先写一个过渡性的东西,供海外使用,计划使用springboot去做,但是因为要先做一个实验性的改造,先用spring+mybatis实现原有的功能以测试和hibernate的差别是否有很大的区别,重新构建sm框架时,遇到了很多坑,研究了一下午终于搞定。

首先是spring-mybatis的配置文件:

  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:context="http://www.springframework.org/schema/context"
  4. xmlns:aop="http://www.springframework.org/schema/aop"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans.xsd
  7. http://www.springframework.org/schema/context
  8. http://www.springframework.org/schema/context/spring-context.xsd
  9. http://www.springframework.org/schema/aop
  10. http://www.springframework.org/schema/aop/spring-aop.xsd">
  11. <!-- 开启自动扫描 -->
  12. <context:component-scan base-package="com.travelsky.cupps.db.other"></context:component-scan>
  13. <!-- -->
  14. <aop:aspectj-autoproxy />
  15. <!-- 引入外部数据库的配置文件,location位置填写的是相对位置 -->
  16. <context:property-placeholder location="jdbc.properties"
  17. ignore-resource-not-found="false" local-override="false" />
  18. <!-- 配置数据库连接池 -->
  19. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
  20. destroy-method="close">
  21. <property name="driverClassName" value="${jdbc.driver}" />
  22. <property name="url" value="${jdbc.url}" />
  23. <property name="username" value="${jdbc.username}" />
  24. <property name="password" value="${jdbc.password}" />
  25. <!-- 初始化连接大小 -->
  26. <property name="initialSize" value="${jdbc.initialSize}"></property>
  27. <!-- 连接池最大数量 -->
  28. <property name="maxActive" value="${jdbc.maxActive}"></property>
  29. <!-- 连接池最大空闲 -->
  30. <property name="maxIdle" value="${jdbc.maxIdle}"></property>
  31. <!-- 连接池最小空闲 -->
  32. <property name="minIdle" value="${jdbc.minIdle}"></property>
  33. <!-- 获取连接最大等待时间 -->
  34. <property name="maxWait" value="${jdbc.maxWait}"></property>
  35. </bean>
  36.  
  37.  
  38. <!-- ========================================针对myBatis的配置项============================== -->
  39. <!-- 配置SessionFactory -->
  40. <bean name="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  41. <!-- 实例化sqlSessionFactory时需要使用上述配置好的数据源以及SQL映射文件 -->
  42. <property name="dataSource" ref="dataSource" />
  43. <property name="typeAliasesPackage" value="classpath:com/travelsky/cupps/db/other/entity"></property>
  44. <property name="mapperLocations" value="classpath:com/travelsky/cupps/db/other/mapper/*.xml" />
  45. </bean>
  46. <!-- 扫描mapper配置文件的地址 -->
  47. <!-- <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  48. <property name="basePackage" value="com.travelsky.cupps.db.other.mapper.*xml" />
  49. <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
  50. </bean> -->
  51. <!-- DAO接口所在包名,Spring会自动查找其下的类 Mybatis MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到Spring -->
  52. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  53. <property name="basePackage" value="com.travelsky.cupps.db.other.mapper" />
  54. <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
  55. </bean>
  56. <!-- 配置Spring的事务管理器 -->
  57. <bean id="transactionManager"
  58. class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  59. <property name="dataSource" ref="dataSource" />
  60. </bean>
  61. </beans>

其次是jdbc.properties:

  1. jdbc.driver=oracle.jdbc.driver.OracleDriver
  2. jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:ORCL
  3. jdbc.username=root
  4. jdbc.password=root
  5. jdbc.initialSize=0
  6. jdbc.maxActive=20
  7. jdbc.maxIdle=20
  8. jdbc.minIdle=1
  9. jdbc.maxWait=60000

最后是pom.xml:

  1. 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  2. 2 <modelVersion>4.0.0</modelVersion>
  3. 3 <groupId>com.travelsky</groupId>
  4. 4 <artifactId>data</artifactId>
  5. 5 <version>1.0</version>
  6. 6 <properties>
  7. 7 <!-- spring版本号 -->
  8. 8 <spring.version>4.1.5.RELEASE</spring.version>
  9. 9 <!-- mybatis版本号 -->
  10. 10 <mybatis.version>3.2.6</mybatis.version>
  11. 11 <!-- log4j日志文件管理包版本 -->
  12. 12 <slf4j.version>1.7.7</slf4j.version>
  13. 13 <log4j.version>1.2.17</log4j.version>
  14. 14 </properties>
  15. 15 <dependencies>
  16. 16 <dependency>
  17. 17 <groupId>junit</groupId>
  18. 18 <artifactId>junit</artifactId>
  19. 19 <version>3.8.1</version>
  20. 20 <scope>test</scope>
  21. 21 </dependency>
  22. 22 <!-- springmvcjar -->
  23. 23 <!-- jacksonjar -->
  24. 24 <dependency>
  25. 25 <groupId>com.fasterxml.jackson.core</groupId>
  26. 26 <artifactId>jackson-databind</artifactId>
  27. 27 <version>2.5.0</version>
  28. 28 </dependency>
  29. 29 <dependency>
  30. 30 <groupId>com.fasterxml.jackson.core</groupId>
  31. 31 <artifactId>jackson-core</artifactId>
  32. 32 <version>2.5.0</version>
  33. 33 </dependency>
  34. 34
  35. 35 <!-- json -->
  36. 36 <dependency>
  37. 37 <groupId>net.sf.json-lib</groupId>
  38. 38 <artifactId>json-lib</artifactId>
  39. 39 <version>2.2.3</version>
  40. 40 <classifier>jdk15</classifier>
  41. 41 </dependency>
  42. 42
  43. 43 <dependency>
  44. 44 <groupId>com.fasterxml.jackson.core</groupId>
  45. 45 <artifactId>jackson-annotations</artifactId>
  46. 46 <version>2.5.0</version>
  47. 47 </dependency>
  48. 48 <dependency>
  49. 49 <groupId>org.springframework</groupId>
  50. 50 <artifactId>spring-core</artifactId>
  51. 51 <version>${spring.version}</version>
  52. 52 </dependency>
  53. 53
  54. 54 <dependency>
  55. 55 <groupId>org.springframework</groupId>
  56. 56 <artifactId>spring-web</artifactId>
  57. 57 <version>${spring.version}</version>
  58. 58 </dependency>
  59. 59 <dependency>
  60. 60 <groupId>org.springframework</groupId>
  61. 61 <artifactId>spring-orm</artifactId>
  62. 62 <version>${spring.version}</version>
  63. 63 </dependency>
  64. 64 <dependency>
  65. 65 <groupId>org.springframework</groupId>
  66. 66 <artifactId>spring-oxm</artifactId>
  67. 67 <version>${spring.version}</version>
  68. 68 </dependency>
  69. 69 <dependency>
  70. 70 <groupId>org.springframework</groupId>
  71. 71 <artifactId>spring-tx</artifactId>
  72. 72 <version>${spring.version}</version>
  73. 73 </dependency>
  74. 74
  75. 75 <dependency>
  76. 76 <groupId>org.springframework</groupId>
  77. 77 <artifactId>spring-jdbc</artifactId>
  78. 78 <version>${spring.version}</version>
  79. 79 </dependency>
  80. 80
  81. 81 <dependency>
  82. 82 <groupId>org.springframework</groupId>
  83. 83 <artifactId>spring-webmvc</artifactId>
  84. 84 <version>${spring.version}</version>
  85. 85 </dependency>
  86. 86 <dependency>
  87. 87 <groupId>org.springframework</groupId>
  88. 88 <artifactId>spring-aop</artifactId>
  89. 89 <version>${spring.version}</version>
  90. 90 </dependency>
  91. 91
  92. 92 <dependency>
  93. 93 <groupId>org.springframework</groupId>
  94. 94 <artifactId>spring-context</artifactId>
  95. 95 <version>${spring.version}</version>
  96. 96 </dependency>
  97. 97
  98. 98 <dependency>
  99. 99 <groupId>org.springframework</groupId>
  100. 100 <artifactId>spring-context-support</artifactId>
  101. 101 <version>${spring.version}</version>
  102. 102 </dependency>
  103. 103
  104. 104 <dependency>
  105. 105 <groupId>org.springframework</groupId>
  106. 106 <artifactId>spring-test</artifactId>
  107. 107 <version>${spring.version}</version>
  108. 108 </dependency>
  109. 109
  110. 110 <dependency>
  111. 111 <groupId>org.springframework</groupId>
  112. 112 <artifactId>spring-aspects</artifactId>
  113. 113 <version>${spring.version}</version>
  114. 114 </dependency>
  115. 115 <!-- mybatis jar -->
  116. 116 <dependency>
  117. 117 <groupId>org.mybatis</groupId>
  118. 118 <artifactId>mybatis</artifactId>
  119. 119 <version>${mybatis.version}</version>
  120. 120 </dependency>
  121. 121 <!-- mybatis/spring -->
  122. 122 <dependency>
  123. 123 <groupId>org.mybatis</groupId>
  124. 124 <artifactId>mybatis-spring</artifactId>
  125. 125 <version>1.2.2</version>
  126. 126 </dependency>
  127. 127 <!-- 其他jar -->
  128. 128 <!-- 导入oracle数据库链接jar -->
  129. 129 <dependency>
  130. 130 <groupId>com.travelsky.cupps</groupId>
  131. 131 <artifactId>oracle</artifactId>
  132. 132 <version>10.2.0.1.0</version>
  133. 133 </dependency>
  134. 134 <!-- 导入dbcpjar包,用来在applicationContext.xml中配置数据库 -->
  135. 135 <dependency>
  136. 136 <groupId>commons-dbcp</groupId>
  137. 137 <artifactId>commons-dbcp</artifactId>
  138. 138 <version>1.2.2</version>
  139. 139 </dependency>
  140. 140 <!-- JSTL标签类 -->
  141. 141 <dependency>
  142. 142 <groupId>jstl</groupId>
  143. 143 <artifactId>jstl</artifactId>
  144. 144 <version>1.2</version>
  145. 145 </dependency>
  146. 146 <!-- 日志文件管理包 -->
  147. 147 <!-- log start -->
  148. 148 <dependency>
  149. 149 <groupId>log4j</groupId>
  150. 150 <artifactId>log4j</artifactId>
  151. 151 <version>${log4j.version}</version>
  152. 152 </dependency>
  153. 153
  154. 154 <dependency>
  155. 155 <groupId>org.slf4j</groupId>
  156. 156 <artifactId>slf4j-api</artifactId>
  157. 157 <version>${slf4j.version}</version>
  158. 158 </dependency>
  159. 159
  160. 160 <dependency>
  161. 161 <groupId>org.slf4j</groupId>
  162. 162 <artifactId>slf4j-log4j12</artifactId>
  163. 163 <version>${slf4j.version}</version>
  164. 164 </dependency>
  165. 165 <!-- 上传组件包 -->
  166. 166 <dependency>
  167. 167 <groupId>commons-fileupload</groupId>
  168. 168 <artifactId>commons-fileupload</artifactId>
  169. 169 <version>1.3.1</version>
  170. 170 </dependency>
  171. 171 <dependency>
  172. 172 <groupId>commons-io</groupId>
  173. 173 <artifactId>commons-io</artifactId>
  174. 174 <version>2.4</version>
  175. 175 </dependency>
  176. 176 <dependency>
  177. 177 <groupId>commons-codec</groupId>
  178. 178 <artifactId>commons-codec</artifactId>
  179. 179 <version>1.9</version>
  180. 180 </dependency>
  181. 181 <dependency>
  182. 182 <groupId>commons-codec</groupId>
  183. 183 <artifactId>commons-codec</artifactId>
  184. 184 <version>1.9</version>
  185. 185 </dependency>
  186. 186 <dependency>
  187. 187 <groupId>javax.servlet</groupId>
  188. 188 <artifactId>javax.servlet-api</artifactId>
  189. 189 <version>3.0.1</version>
  190. 190 <scope>provided</scope>
  191. 191 </dependency>
  192. 192 <dependency>
  193. 193 <groupId>javax.servlet.jsp</groupId>
  194. 194 <artifactId>jsp-api</artifactId>
  195. 195 <version>2.1</version>
  196. 196 <scope>provided</scope>
  197. 197 </dependency>
  198. 198
  199. 199 </dependencies>
  200. 200 </project>

由着三个文件就能将sm框架给搭建起来,当然,一些实体还得自己写啦

版权声明:本文为daimazhang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/daimazhang/p/9179201.html