maven+springmvc+spring+mybatis
一、项目搭建
1)创建maven项目
选择apache的maven-archetype-webapp
填入groupID : 例如 com.mracale
artifactId :例如 shopping
确认项目名称
maven插件会自动生成项目结构
2)添加其他目录
在src/main下添加java目录,设置为源码根目录(Source Root)
注: 有需要的话可以在src下载添加测试相关代码目录
建立如下目录结构
com.xxx.common
com.xxx.vip
entity
dao
function
web
-formbean
-handler
在src/main下添加resources目录,设置为资源根目录(Resource Root)
在webapp下添加
static目录用于存放静态资源,如图片,js,css等
放入jquery和bootstrap
在web-inf目录添加views目录,用于存放jsp等视图文件
修改web.xml中的文档声明 使用3.0(如果不是的话)
3)修改项目和模块的语言级别为1.8
默认的LanguageLevel和JavaCompiler都是1.5
在pom.xml中添加如下代码,指定maven编译插件maven-compiler-plugin的版本
<plugins>
<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>
</configuration>
</plugin>
</plugins>
二、集成springmvc
在http://mvnrepository.com/网站搜索依赖库
1)在pom.xml中添加依赖
spring-mvc
servlet-api
jstl
2)在src/main/resources目录下添加spring-mvc.xml配置文件
a)添加注解驱动<mvc:annotation-driven/>
b)注册视图解析器
c)扫描mvc组件
3)在web.xml中配置spring-mvc前端控制器DispatcherServlet
a)配置随服务器启动而初始化
b)配置参数contextConfigLocation,指向spring-mvc的路径
c)配置servlet-mapping
仅处理*.do请求
4)web.xml配置请求和应答字符编码处理过滤器
CharacterEncodingFilter
5)配置404,500,欢迎界面等特殊页面(略)
6)编写测试案例
三、集成Spring
1)添加spring依赖
2)编写配置文件spring-context.xml
扫描业务层组件
3)在web.xml中配置ContextLoaderListener监听器,启用Spring容器
配置contextConfigLocation,指定spring-context.xml路径
四、集成c3p0
1)添加依赖
c3p0
jdbc-mysql
2)在spring-context中定义c3p数据源ComboPooledDataSource
配置属性
基础信息
driverClass/jdbcurl/user/password
连接数相关
initialPoolSize/minPoolSize/maxPoolSize/acquireIncrement
其他属性请参见相关文档
五、配置声明式事务管理
1)添加依赖
spring-tx
spring-jdbc
2)配置数据源事务管理DataSourceTransactionManager
指定数据源
3)指定通过注解控制事物
<tx:annotation-driven>
指定事务管理器
六、集成mybatis
1)添加依赖
mybatis
mybatis-spring
pagehelper
cglib
2)编写mybatis配置文件
相关配置
<setting name="cacheEnabled" value="true"/>
<setting name="defaultStatementTimeout" value="3000"/>
<setting name="mapUnderscoreToCamelCase" value="true"/>
<setting name="proxyFactory" value="CGLIB"/>
<setting name="lazyLoadingEnabled" value="true" />
集成分页插件
<plugin interceptor="com.github.pagehelper.PageHelper">
<property name="dialect" value="mysql" />
<!-- 该参数默认为false -->
<!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->
<!-- 和startPage中的pageNum效果一样 -->
<property name="offsetAsPageNum" value="true" />
<!-- 该参数默认为false -->
<!-- 设置为true时,使用RowBounds分页会进行count查询 -->
<property name="rowBoundsWithCount" value="true" />
<!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 -->
<!-- (相当于没有执行分页查询,但是返回结果仍然是Page类型) -->
<property name="pageSizeZero" value="true" />
</plugin>
3)在spring-context.xml中配置SqlSessionFactoryBean
指定数据源
指定mybatis配置文件路径
指定mapper文件路径
4)在spring-context.xml配置扫描mapper生成dao(MapperScannerConfigurer)
指定SqlSessionFactoryBean
指定要扫描的包
七、编写一个登录示例
编写实体
编写mapper
编写function
编写handler
maven+springmvc+spring+mybatis的更多相关文章
- springmvc学习总结(二) -- maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解
@_@ 写在最前 之前分享过下面这几篇: mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(上)(附demo和搭建过程遇到的问题解决方法) myba ...
- maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解
转自:https://www.cnblogs.com/lmei/p/7190755.html?utm_source=itdadao&utm_medium=referral @_@ 写在最前 之 ...
- maven+springmvc+spring+mybatis+velocity整合
一.ssmm简介 ssmm是当下企业最常用的开发框架架构 maven:管理项目jar包,构建项目 spring:IOC容器,事务管理 springmvc:mvc框架 myBatis:持久层框架 v ...
- 第一章 企业项目开发--maven+springmvc+spring+mybatis+velocity整合
说明:本系列文章主要是对自己在一家大型互联网公司实习的过程中对所学知识的总结!参与的是实际中使用的上线项目. 代码的github地址:https://github.com/zhaojigang/ssm ...
- Idea SpringMVC+Spring+MyBatis+Maven调整【转】
Idea SpringMVC+Spring+MyBatis+Maven整合 创建项目 File-New Project 选中左侧的Maven,选中右侧上方的Create from archetyp ...
- SpringMVC+Spring+MyBatis+Maven调整【转】
Idea SpringMVC+Spring+MyBatis+Maven整合 创建项目 File-New Project 选中左侧的Maven,选中右侧上方的Create from archetyp ...
- 手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)
手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版) SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案.标准的MVC设计模式, ...
- Maven 搭建SpringMvc+Spring+Mybatis详细记录
总觉得,看比人写的总是那么好,每次搭建框架时都会找博客,找教程来跟着一步一步走,虽然很快搭建成功了,但是经常情况是我并不知道我干了什么,也不记得具体步骤,到底为什么要这么做,今天我详细记录了一下自己搭 ...
- 单工程搭建springmvc+spring+mybatis(maven,idea)
单工程搭建springmvc+spring+mybatis(maven,idea) 1.pom.xml <properties> <project.build.sourceEncod ...
随机推荐
- 服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS?
早期,我们使用 Debian 作为服务器软件,后来转向了CentOS,主要原因如下: 1.CentOS/RHEL的生命周期是7年,基本上可以覆盖硬件的生命周期,也就意味着一个新硬件安装以后,不用再次安 ...
- 处理器拦截器(HandlerInterceptor)详解
处理器拦截器(HandlerInterceptor)详解 编程界的小学生 关注 2017.04.06 15:19* 字数 881 阅读 657评论 0喜欢 4 简介SpringWebMVC的处理器拦截 ...
- 组合数学 - BZOJ 3997 - TJOI2015
TJOI2015 Problem's Link ---------------------------------------------------------------------------- ...
- Cg入门14:Vertex Shader - 几何变换 —顶点扭曲
mul (UNITY_MATRIX_MVP,upPos): 參数说明 由第一个參数UNITY_MATRIX_MVP 矩阵去影响第二个參数upPos向量(或者矩阵) Shader "Sbin/ ...
- connect() failed (111: Connection refused) while connecting to upstream, cli
php-fpm没有运行 执行如下命令查看是否启动了php-fpm,如果没有则启动你的php-fpm即可 netstat -ant | grep 9000 没有运行为空,有运行显示 tcp 0 0 12 ...
- 剑指 offer set 22 数组中的逆序数
总结 1. 题目为归并排序的变形, 不过我完全没想到 2. 在归并排序进行字符组 merge 时, 统计逆序数. merge 后, 两个子数组是有序的了, 下次再 merge 的时候就能以 o(n) ...
- ios 开发之 -- 极光推送,发送自定义消息,进入制定页面
在进行极光推送时候,发现版本有所更新,以前截取didfinish入口方法里面的launchOptions,获取一个本地的通知内容,进行本地展示不可用了,通过查询官方文档和网上的资料才发现,方法改变了, ...
- 5个基于Linux命令行的文件下载和网站浏览工具
导读 命令行是GNU/Linux中最神奇迷人的部分,它是非常强大的工具;命令行本身功能多样,多种内建或者第三方的命令行应用使得Linux变得更加健壮和强大.Linux Shell支持多种不同类型的网络 ...
- jqGrid设置符合条件的行选中
1.描述:在loadComplete的时候,符合zoneCode列不为null的被选中,第一列为zoeCode2.问题:已经获取到zoneCode不为null的列,但是该行一直没有选中.3.截图:4. ...
- 『AngularJS』一点小小的理解
AngularJS 是一个前端的以Javascript为主的MVC框架.与AngularJS相类似的还有EmberJS. 随着时代在进步,各种各样的开发理念与开发框架不断的提出与发展,而就目前来说,除 ...