Idea+Maven构建SpringMVC+MyBatis项目

本文详细介绍如何使用Maven和IntelliJ IDEA搭建Java Web应用程序,包括集成Spring MVC、Spring框架、c3p0数据库连接池、MyBatis及配置事务管理等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.    创建项目

1.1 首次使用Create New Project


1.2 选择Maven,勾选复选框,选择maven-archetype-webapp,下一步


1.3 输入GroupId和项目名称,下一步


1.4 配置Maven。因为安装Idea时已经配置好了,这里不用动,直接下一步


1.5 确认项目名和项目路径,完成


2.    完善项目结构

2.1 src/main目录下创建java目录,并设置为源码根目录


2.2 src下创建test目录, 与main平级, 并设置为test source目录(此步骤可省略)


2.3 java目录下创建几个基本package


2.4 resources下创建spring-mvc.xml(集成SpringMVC用,参见标题3)和spring-context.xml(集成Spring用,参见标题4)


2.5 创建mybatis-config.xml,模板参考https://blog.youkuaiyun.com/wzp6010625/article/details/78117015


3.    集成SpringMVC

3.1 集成Spring jar包

Maven仓库:http://mvnrepository.com/

3.1.1 spring-mvc

在Maven仓库网站中,搜索关键字,以下其它jar包做法相同


选择适合的版本,一般选使用量最高的


复制以下区域内容


粘贴到pom的<dependencies>标签中


3.1.2 servlet-api



3.1.3 jstl

注意是javax.servlet,不是jsp



3.2 配置xml文件

3.2.1 前端控制器 servlet(web.xml)


3.2.2 注解驱动 (spring-mvc.xml)

完成


3.2.3 视图解析器(spring-mvc.xml)


3.2.4 扫描Controller控制器(spring-mvc.xml)


完成


3.2.5 字符编码过滤器 filter(web.xml)


3.2.6 配置404,500,欢迎界面等特殊界面(web.xml)(可选)


至此,MVC部分已经搭建好,可编写测试用例测试

4.    集成Spring

4.1 集成jar包

在集成SpringMVC时已经包括了,这里不需要再引入jar

4.2 扫描业务层组件(spring-context.xml)


完成


5.    集成c3p0数据库连接池

5.1 集成jar

5.1.1 c3p0

5.1.2 mysql

如果是Oracle数据库,不能直接引入驱动jar,参考https://blog.youkuaiyun.com/wzp6010625/article/details/7797532

5.2 c3p0 + mysql(spring-context.xml)


6.    配置事务管理

6.1 添加spring-tx和spring-jdbc的jar

直接复制spring-mvc的,修改下即可


完成


6.2 配置事务管理(spring-context.xml)


6.3 使用注解控制事务(spring-context.xml)


完成


7.    集成MyBatis

7.1 集成jar

7.1.1 mybatis



7.1.2 mybatis spring



7.1.3 pagehelper 分页插件



7.1.4 cglib

为避免jar包版本冲突,要从mybatis中去寻找


7.2 配置xml

7.2.1 mybatis-config.xml

<!--相关配置-->
    <settings>
        <!--是否使用缓存-->
        <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"/>
    </settings>
    <!--集成分页插件-->
    <plugins>
        <plugin interceptor="com.github.pagehelper.PageHelper">
            <property name="dialect" value="mysql"/>
            <!--
                该参数默认为false,设置为true时,
                会将RowBound第一个参数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>
    </plugins>

7.2.2 集成MyBatis,配置SqlSessionFactoryBean(spring-context.xml)


7.2.3 配置扫描mapper生成的dao,MapperScannerConfigurer(spring-context.xml)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值