idea 配置springmvc+mybatis(图文教程)
idea配置 spirngmvc+maven+mybatis 数据库采用的是mysql 服务器容器用的是tomcat8
废话不多说直接干!
首先新建一个 maven工程, "File"->"New"->"Project" 选择maven工程然后 找到webapp,别选错了,然后点击"next"
之后到下面一个界面;1:一般是com.xxxx什么什么的, 2:一般是项目名字啥的 至于“Version ”是版本号 默认就OK了 然后“Next”
之后的界面是maven的选择 这个自己可以配置一个,当然Idea很人性化的提供了这个插件,我们不必要自己配置,当然自己配置也是可以的。
具体的教程见:http://blog.csdn.net/qq_32588349/article/details/51461182 感谢这位朋友的无私奉献。
我这里用的是自己配置的,如果你c盘不是很大的话,或者想更改maven的本地仓库的路径的话,那么你就需要在下面的“Local repository” 点击后面的“Override”,然后选择你想要的路径就OK了。
下面就是你的工程所在的本地磁盘的目录,名字高兴怎么起就怎么起。。。
下面就等待ING……
好了之后的目录是
然后在pom.xml文件中 给出需要用到jar包 然后又是等待ING……
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 3 <modelVersion>4.0.0</modelVersion> 4 <groupId>com.test</groupId> 5 <artifactId>mvc</artifactId> 6 <packaging>war</packaging> 7 <version>1.0-SNAPSHOT</version> 8 <name>mvc Maven Webapp</name> 9 10 <!-- <url>http://maven.apache.org</url>--> 11 <url>http://repo.maven.apache.org/maven2</url> 12 13 <properties> 14 <spring_version>4.2.8.RELEASE</spring_version> 15 <mybatis_version>3.2.6</mybatis_version> 16 17 </properties> 18 19 <dependencies> 20 <!--junit测试包 --> 21 <dependency> 22 <groupId>junit</groupId> 23 <artifactId>junit</artifactId> 24 <version>3.8.1</version> 25 <scope>test</scope> 26 </dependency> 27 28 <!--Spring 依赖的jar包 --> 29 <dependency> 30 <groupId>org.springframework</groupId> 31 <artifactId>spring-webmvc</artifactId> 32 <version>${spring_version}</version> 33 </dependency> 34 35 <!--Spring 数据库事务 --> 36 <dependency> 37 <groupId>org.springframework</groupId> 38 <artifactId>spring-tx</artifactId> 39 <version>${spring_version}</version> 40 </dependency> 41 42 <!--Spring 对JDBC访问需要的类 --> 43 <dependency> 44 <groupId>org.springframework</groupId> 45 <artifactId>spring-jdbc</artifactId> 46 <version>${spring_version}</version> 47 </dependency> 48 49 <!-- mysql 连接jar包 --> 50 <dependency> 51 <groupId>mysql</groupId> 52 <artifactId>mysql-connector-java</artifactId> 53 <version>5.1.6</version> 54 </dependency> 55 56 <!-- mybatis核心包 --> 57 <dependency> 58 <groupId>org.mybatis</groupId> 59 <artifactId>mybatis</artifactId> 60 <version>${mybatis_version}</version> 61 </dependency> 62 63 <!-- mybatis-spring包 --> 64 <dependency> 65 <groupId>org.mybatis</groupId> 66 <artifactId>mybatis-spring</artifactId> 67 <version>1.3.0</version> 68 </dependency> 69 70 <!-- mybatis自动生成包--> 71 <dependency> 72 <groupId>tk.mybatis</groupId> 73 <artifactId>mapper</artifactId> 74 <version>3.3.9</version> 75 </dependency> 76 77 <dependency> 78 <groupId>org.mybatis.generator</groupId> 79 <artifactId>mybatis-generator-core</artifactId> 80 <version>1.3.5</version> 81 </dependency> 82 83 <!--json工具 --> 84 <dependency> 85 <groupId>com.fasterxml.jackson.core</groupId> 86 <artifactId>jackson-core</artifactId> 87 <version>2.4.4</version> 88 </dependency> 89 90 <!-- 上传组件包 --> 91 <dependency> 92 <groupId>commons-fileupload</groupId> 93 <artifactId>commons-fileupload</artifactId> 94 <version>1.3.1</version> 95 </dependency> 96 97 <dependency> 98 <groupId>commons-io</groupId> 99 <artifactId>commons-io</artifactId> 100 <version>2.4</version> 101 </dependency> 102 103 <dependency> 104 <groupId>commons-codec</groupId> 105 <artifactId>commons-codec</artifactId> 106 <version>1.9</version> 107 </dependency> 108 </dependencies> 109 110 111 <build> 112 <finalName>mvc</finalName> 113 <!-- 使工程的language level 固定,版本要更idea继承的版本号一样吧,我这边用的是 自己重新配置的maven--> 114 <plugins> 115 <plugin> 116 <groupId>org.apache.maven.plugins</groupId> 117 <artifactId>maven-compiler-plugin</artifactId> 118 <version>3.1</version> 119 <configuration> 120 <source>1.8</source> 121 <target>1.8</target> 122 </configuration> 123 </plugin> 124 </plugins> 125 </build> 126 </project>
然后右击项目,添加框架支持 选择mvc
这个时候目录变成多了几个文件,多的几个就是需要配的文件
因为一般来说,配置文件啥的都放在 resources下面,那么我们就按照正常套路来,也放在这个目录下面。我是把他分为好几个:有
properties就是一些 常用的配置,比如数据库配置啊,邮箱配置啊等等等
servlet-context 我一般定义常规的配置(实际上我也不知道是不是这样,我的习惯是这样,如果这样不对的话,请前辈们指出,谢谢!)
代码如下:
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 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> 5 6 <!-- 定义跳转的文件的前后缀 ,视图模式配置--> 7 <bean id="viewResolver" 8 class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 9 <!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 --> 10 <property name="prefix" value="/WEB-INF/view/"/> 11 <property name="suffix" value=".jsp"/> 12 </bean> 13 14 </beans>
spring-context:一般来说就是放一些spring的核心配置
代码如下:
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:context="http://www.springframework.org/schema/context" 5 xmlns:mvc="http://www.springframework.org/schema/mvc" 6 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> 7 8 <!-- 注解扫描包 --> 9 <context:component-scan base-package="com.test"/> 10 11 <!-- 启用spring mvc 注解 --> 12 <context:annotation-config/> 13 14 <!-- 开启注解 --> 15 <mvc:annotation-driven/> 16 17 <!--加载本地的其他配置 --> 18 <import resource="spring-base.xml"/> 19 <import resource="spring-database.xml"/> 20 21 </beans>
spring-base.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 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> 5 6 <!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 --> 7 <bean id="multipartResolver" 8 class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 9 <!-- 默认编码 --> 10 <property name="defaultEncoding" value="utf-8"/> 11 <!-- 文件大小最大值 --> 12 <property name="maxUploadSize" value="10485760000"/> 13 <!-- 内存中的最大值 --> 14 <property name="maxInMemorySize" value="40960"/> 15 </bean> 16 17 </beans>
spring-database.xml 这个里面主要就是数据库的一些配置啊,已经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:tx="http://www.springframework.org/schema/tx" 4 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> 5 6 <!-- 引入配置文件 --> 7 <bean id="propertyConfigurer" 8 class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 9 <property name="location" value="classpath:config.properties"/> 10 </bean> 11 12 <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 13 <property name="driverClassName" value="com.mysql.jdbc.Driver"/> 14 <property name="url" value="jdbc:mysql://localhost:3306/mvc"/> 15 <property name="username" value="root"/> 16 <property name="password" value="root"/> 17 </bean> 18 19 20 <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 --> 21 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> 22 <property name="dataSource" ref="dataSource"/> 23 <!-- 自动扫描mapping.xml文件 --> 24 <property name="mapperLocations" value="classpath:mybatis/*Mapper.xml"/> 25 </bean> 26 27 <!-- DAO接口所在包名,Spring会自动查找其下的类 --> 28 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> 29 <property name="basePackage" value="com.test.mapper"/> 30 <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> 31 </bean> 32 33 <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx --> 34 <bean id="transactionManager" 35 class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 36 <property name="dataSource" ref="dataSource"/> 37 </bean> 38 39 <!-- transaction-manager:引用上面定义的事务管理器--> 40 <tx:annotation-driven transaction-manager="transactionManager"/> 41 42 </beans>
下面就是web.xml的配置了
代码如下
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 5 version="2.5"> 6 7 <display-name>Archetype Created Web Application</display-name> 8 9 <!--spring容器初始化--> 10 <context-param> 11 <param-name>contextConfigLocation</param-name> 12 <param-value>classpath:spring-context.xml</param-value> 13 </context-param> 14 15 <listener> 16 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 17 </listener> 18 19 <!-- --> 20 <servlet> 21 <servlet-name>dispatcher</servlet-name> 22 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 23 <init-param> 24 <param-name>contextConfigLocation</param-name> 25 <param-value>classpath:servlet-context.xml</param-value> 26 </init-param> 27 <load-on-startup>0</load-on-startup> 28 </servlet> 29 <servlet-mapping> 30 <servlet-name>dispatcher</servlet-name> 31 <url-pattern>/</url-pattern> 32 </servlet-mapping> 33 34 35 <!-- 字符编码配置 --> 36 <filter> 37 <filter-name>characterEncodingFilter</filter-name> 38 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 39 <init-param> 40 <param-name>encoding</param-name> 41 <param-value>UTF-8</param-value> 42 </init-param> 43 <init-param> 44 <param-name>forceEncoding</param-name> 45 <param-value>true</param-value> 46 </init-param> 47 </filter> 48 <filter-mapping> 49 <filter-name>characterEncodingFilter</filter-name> 50 <url-pattern>/*</url-pattern> 51 </filter-mapping> 52 53 <welcome-file-list> 54 <welcome-file>/WEB-INF/view/index.jsp</welcome-file> 55 </welcome-file-list> 56 57 <!-- 激活Tomcat的defaultServlet来处理静态文件 --> 58 <servlet-mapping> 59 <servlet-name>default</servlet-name> 60 <url-pattern>*.jpg</url-pattern> 61 </servlet-mapping> 62 <servlet-mapping> 63 <servlet-name>default</servlet-name> 64 <url-pattern>*.gif</url-pattern> 65 </servlet-mapping> 66 <servlet-mapping> 67 <servlet-name>default</servlet-name> 68 <url-pattern>*.png</url-pattern> 69 </servlet-mapping> 70 <servlet-mapping> 71 <servlet-name>default</servlet-name> 72 <url-pattern>*.js</url-pattern> 73 </servlet-mapping> 74 <servlet-mapping> 75 <servlet-name>default</servlet-name> 76 <url-pattern>*.css</url-pattern> 77 </servlet-mapping> 78 79 </web-app>
简单的配置这样就OK了,之后测试,自己写一个登录界面,然后跑一下就OK了,在这里就不具体写了。
注意:
mybatis的xml文件要放在resources里面 因为我被这个坑害过,。。
具体见这位朋友分享的:http://blog.csdn.net/jinzhencs/article/details/50595476
完整的工程地址:
还有mybatis自动生成 简单的xml文件我还没有完成,完成之后会上传到git上面。
我也是刚学,如有不足,欢迎指正,谢谢!