Maven管理,SpringMVC+Spring+Mybatis环境整合
来源:互联网 发布:天刀淘宝刷白发多少钱 编辑:程序博客网 时间:2024/05/22 00:21
ps.本文旨在提供SSM环境整合的资源文件配置供大家参考,而并非一个完整教你一步步搭建一个SSM项目的博文。
这是整合SpringMVC+Spring+Mybatis的小项目,Maven管理.
希望对大家有帮助,如有错误或疏漏的地方,请大家指出,在这里先谢谢了.
ps.文中使用的jar包与配置文件,可能与大家实际开发项目情况有偏差,请自行判断修改.
1.目录结构
这是本项目的目录结构.
各目录所放的文件的话,大家既然学到SSM了,基本也不用我多嘴解释了.
注意 :
mapper中,存放数据库操作方法的xml,存放在dao中每个方法对应的sql,都在这里配置.
controller中,存放的是MVC中的C,控制层.
2.pom.xml
pom.xml中jar的版本要注意,这里贴出mvnrepository
http://mvnrepository.com/
若是有版本不兼容等问题,可去mvnrepository中查询指定jar包的其他版本.
ps.该文件的内容仅提供参考(大家可自行选择需要的包,我就不删减代码内容了).
<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId></groupId> <artifactId></artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>Maven Webapp</name> <url>http://maven.apache.org</url><dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <!-- 只在编译时和测试时运行 --> <scope>provided</scope> </dependency> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.42</version> </dependency> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-aspects --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>4.3.9.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-expression --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>4.3.9.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context-support --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.3.9.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.3.9.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-aop --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>4.3.9.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-core --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.9.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-beans --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.3.9.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.9.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/aopalliance/aopalliance --> <dependency> <groupId>aopalliance</groupId> <artifactId>aopalliance</artifactId> <version>1.0</version> </dependency> <!-- https://mvnrepository.com/artifact/com.mchange/c3p0 --> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.2</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/jstl --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.3.9.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.3.9.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.9.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.8.9</version> </dependency> <!-- Map工具类 --> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2</version> </dependency> <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <!-- https://mvnrepository.com/artifact/commons-io/commons-io --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency></dependencies><build> <finalName>FakeFacebook</finalName> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <executions> <execution> <!-- 打包的时候运行 --> <phase>package</phase> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins></build></project>
3.applicationContext.xml
这个配置文件非常重要,我把代码放一起,大家看起来也直观一些.
ps.该文件的内容仅提供参考(代码本身没有错误).
<?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:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx" 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/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <context:annotation-config/> <context:component-scan base-package="com.facebook" /> <!-- 开启SpringMVC注解模式 --> <mvc:annotation-driven /> <!-- 静态资源默认servlet配置 (1)加入对静态资源的处理:js,gif,png (2)允许使用"/"做整体映射 --> <mvc:default-servlet-handler/> <!-- 配置jsp 显示ViewResolver --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/WEB-INF/" /> <property name="suffix" value=".jsp" /> </bean> <!-- 配置c3p0连接池 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="com.mysql.jdbc.Driver"/> <property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/facebook"/> <property name="user" value="root"/> <property name="password" value="root"/> <!-- 若数据库中连接数不足时,一次向数据库服务器申请多少个连接 --> <property name="acquireIncrement" value="5" /> <!-- 初始化数据库连接时连接的数量 --> <property name="initialPoolSize" value="10" /> <!-- 数据库连接池中最小的数据库连接数 --> <property name="minPoolSize" value="10" /> <!-- 数据库连接池中最大的数据库连接数 --> <property name="maxPoolSize" value="30" /> <!-- 获取连接超时时间 --> <property name="checkoutTimeout" value="10000" /> <!-- 当获取连接失败重试次数 --> <property name="acquireRetryAttempts" value="2" /> </bean> <!-- 配置SqlSessionFactory对象 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="configLocation" value="classpath:facebook/mybatisConfig.xml"></property> <property name="mapperLocations" value="classpath:facebook/mapper/*.xml" /> </bean> <!-- 配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 注入sqlSessionFactory --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> <!-- 给出需要扫描Dao接口包 --> <property name="basePackage" value="com.facebook.dao" /> </bean> <!-- 配置基于注解的声明式事务 --> <tx:annotation-driven transaction-manager="transactionManager"/> <!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean></beans>
4.mybatisConfig.xml
ps.该文件的内容仅提供参考(代码本身没有输入错误).
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- <mappers> <mapper resource="facebook/mapper/UserDao.xml"/> </mappers> --></configuration>
5.UserDao.xml
操作数据库的xml,让大家参考参考
ps.该文件的内容仅提供参考(代码本身没有错误).
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.facebook.dao.IUserDao"> <!-- 为了返回list 类型而定义的returnMap --> <resultMap type="com.facebook.model.User" id="UserResult"> <id column="id" jdbcType="INTEGER" property="id"/> <result column="name" jdbcType="VARCHAR" property="name"/> <result column="sex" jdbcType="VARCHAR" property="sex"/> <result column="age" jdbcType="INTEGER" property="age"/> </resultMap> <!-- 常用句式 --> <sql id="columns">id,name,sex,age</sql> <!-- 登录验证 --> <!-- id与name的用户输入等问题,已经在前端处理 --> <select id="loginValidate" parameterType="com.facebook.model.User" resultMap="UserResult"> select <include refid="columns"/> from user where id = #{id} and name = #{name} </select> <!-- 用户注册操作 --> <select id="register" parameterType="com.facebook.model.User"> insert user(id,sex,age,name) value(#{id},#{sex},#{age},#{name}) </select> <!-- 通过id查询信息 --> <select id="query" parameterType="Integer" resultMap="UserResult"> select <include refid="columns"/> from user where id = #{id} </select></mapper>
一个小小的SSM项目供大家参考,GitHub项目地址.
加油,与大家共勉.
阅读全文
0 0
- Maven管理,SpringMVC+Spring+Mybatis环境整合
- SpringMvc+Spring+Mybatis+Maven整合
- spring springmvc mybatis maven整合
- Springmvc+spring+maven+Mybatis整合
- SpringMvc+Spring+Mybatis+Maven整合
- SpringMVC+Spring+Mybatis+Maven整合
- MAVEN整合Spring+SpringMVC+Mybatis
- SpringMvc+Spring+MyBatis+Maven整合
- spring+springmvc+mybatis+maven 整合
- Spring+SpringMVC+MyBatis+Maven整合
- maven SpringMVC,Spring,Mybatis整合
- maven+springmvc+spring+mybatis整合
- maven+spring+springmvc+mybatis整合
- maven+Spring+SpringMVC+Mybatis 整合
- maven+mybatis+spring+springmvc整合
- Spring+SpringMVC+Mybatis+maven整合
- 通过Maven管理整合Spring、SpringMVC、MyBatis项目案例
- 第一章:Dubbo整合maven+spring+springmvc+mybatis之环境准备
- python高性能框架-japronto浅测
- Unity4--向量的脚本、点乘、叉乘
- 正则表达式
- JZOJ2017.08.06 B组
- HDU 1003-最大子段和
- Maven管理,SpringMVC+Spring+Mybatis环境整合
- HDU -- 3501 Calculation 2 【欧拉函数性质的应用】
- DBCP与C3P0的核心区别,以及Proxool和BoneCP连接池介绍
- [笔记分享] [Hardware] MSM8x60 User Guide study report
- Csharp进阶:字符串常用方法
- 0819 Java枚举 线程
- STL 总结
- hdu2795 Billboard 线段树应用
- CentOS上安装LAMP之Apache环境及安装过程报错解决方案(纯净系统环境)