mybatis springmvc velocity环境搭建

前言

轻量级ORM框架MyBatis完美的配合SpringMVC web框架实现了后台action的开发,结合Java模版引擎velocity实现了Java代码与前端代码的隔离。

搭建过程

后台配置mybatis

添加依赖

Spring 3.2.4-RELEASE

<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${version.spring}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${version.spring}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${version.spring}</version>
        </dependency>

mybatis

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.2.3</version>
        </dependency>

连接池dbcp

       <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>

配置

mybatis-config.xml,此处只是示例

<?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>
    <typeAliases>
        <!--系统中持久层对象-->
        <typeAlias type="com.buglife.webutil.model.Test" alias="Test"/>
    </typeAliases>
    <mappers>
        <!--系统中持久层对象对应的Mapper映射XML文件-->
        <mapper resource="com/buglife/webutil/mapper/TestMapper.xml" />
    </mappers>
</configuration>

applicationContext.xml

<?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:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
    <!--加载JDBC配置文件-->
    <context:property-placeholder location="classpath:jdbc.properties"/>
    <tx:annotation-driven/>
    <context:component-scan base-package="com.buglife.webutil.web.service.impl"></context:component-scan>

    <!--配置数据源(连接池)-->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>
    <bean id="sessionFactory"
          class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="configLocation" value="classpath:config/mybatis-config.xml"/>
        <property name="typeAliasesPackage" value="com.buglife.webutil.model"/>
    </bean>

    <!--配置事务-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
    
    <!--通过扫描Mapper所在包名自动注入Mapper-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.buglife.webutil.dao"/>
    </bean>
</beans>

自动生成Model和Mapper

创建generatorConfig.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<generatorConfiguration>
<!--加载数据库连接驱动包-->
    <classPathEntry
            location="C:\Users\Administrator\.m2\repository\mysql\mysql-connector-java\5.1.6\mysql-connector-java-5.1.6.jar" />
    <context id="context1" targetRuntime="MyBatis3">
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/webutil?useUnicode=true&amp;characterEncoding=UTF-8"
                        userId="root" password="root" />
                        
       <!--Model存放位置-->
        <javaModelGenerator targetPackage="com.buglife.webutil.model"
                            targetProject="src/main/java" />
       <!--Mapper xml文件存放位置-->
        <sqlMapGenerator targetPackage="com.buglife.webutil.mapper"
                         targetProject="src/main/resources" />
        <!--Mapper 接口存放位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.buglife.webutil.dao" targetProject="src/main/java" />
        
        <!--配置需要用到的数据表-->
        <table schema="webutil" tableName="test" />
    </context>
</generatorConfiguration>

添加mybatis-generate插件

<plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                    <!--generatorConfig.xml存放位置-->
                    <configurationFile>src\main\resources\config\generatorConfig.xml</configurationFile>
                </configuration>
                <executions>
                    <!--自动生成Mapper和model的生命周期段-->
                    <execution>
                        <id>mapper-generate</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

这时执行maven的命令mvn install则可以生成mybatis所需的model和Mapper

前端搭建velocity

添加依赖

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${version.spring}</version>
        </dependency>
        <!--支持velocity的依赖-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${version.spring}</version>
        </dependency>
        
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity</artifactId>
            <version>1.7</version>
        </dependency>
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-tools</artifactId>
            <version>2.0</version>
        </dependency>

在SpringMVC中配置velocity

<!-- 配置velocity引擎 -->
    <bean id="velocityConfigurer"
          class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
        <!-- 模板存放的路径 -->
        <property name="resourceLoaderPath" value="/WEB-INF/views/"/>
        <!-- Velocity配置文件 -->
        <property name="configLocation" value="classpath:velocity.properties"/>
    </bean>

    <!-- 配置视图的显示 -->
    <bean id="ViewResolver" class="org.springframework.web.servlet.view.velocity.VelocityLayoutViewResolver">
        <property name="prefix" value="/"/>
        <!-- 视图文件的前缀,即存放的路径 -->
        <property name="suffix" value=".vm"/>
        <!-- 视图文件的后缀名 -->
        
        <!--<property name="toolboxConfigLocation" value="/WEB-INF/tools.xml"/>-->
        <!--toolbox配置文件路径-->
        <property name="dateToolAttribute" value="date"/>
        <!--日期函数名称-->
        <property name="numberToolAttribute" value="number"/>
        <!--数字函数名称-->
        <property name="contentType" value="text/html;charset=UTF-8"/>
        <property name="exposeSpringMacroHelpers" value="true"/>
        <!--是否使用spring对宏定义的支持-->
        <property name="exposeRequestAttributes" value="true"/>
        <!--是否开放request属性-->
        <property name="requestContextAttribute" value="rc"/>
        <!--request属性引用名称-->
        
        <!--指定默认layout文件-->
        <property name="layoutUrl" value="layout/default.vm"/>
    </bean>

velocity配置文件velocity.properties,主要配置输入输出编码格式

#指定宏定义位置
velocimacro.library = /WEB-INF/macros/macros.vm
input.encoding=UTF-8
output.encoding=UTF-8

最后看下web.xml中的配置情况

    <servlet>
        <servlet-name>velocity</servlet-name>
        <servlet-class>org.apache.velocity.tools.view.VelocityLayoutServlet</servlet-class>
        <init-param>
            <param-name>org.apache.velocity.tools.deprecationSupportMode</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>org.apache.velocity.tools.cleanConfiguration</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>org.apache.velocity.tools.userCanOverwriteTools</param-name>
            <param-value>false</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>velocity</servlet-name>
        <url-pattern>*.vm</url-pattern>
    </servlet-mapping>

示例

可访问源码

时间: 2024-10-21 12:58:19

mybatis springmvc velocity环境搭建的相关文章

【转】Spring+Mybatis+SpringMVC+Maven+MySql搭建实例

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+MySql的搭建实例,文章写得很详细,有代码有图片,最后也带有运行的效果. 本文工程免费下载 一.准备工作 1. 首先创建一个表: CREATE TABLE `t_user` ( `USER_ID` int(11) NOT NULL AUTO_INCREMENT, `USER_NAME` char(3

Spring+Mybatis+SpringMVC+Maven+MySql搭建实例

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+MySql的搭建实例,文章写得很详细,有代码有图片,最后也带有运行的效果. 一.准备工作 1. 首先创建一个表: CREATE TABLE `t_user` ( `USER_ID` int(11) NOT NULL AUTO_INCREMENT, `USER_NAME` char(30) NOT NU

Mybatis使用之环境搭建

Mybatis使用之环境搭建 一:简介 集成环境:IntellijIDEA 14.0+Maven+Mybatis3.2.8+mysql. 主要为后续Mybatis使用搭建运行环境. 二:前期准备 1. 主要是数据库对应测试表的创建.这些表是后面学习过程中使用的表.数据模型简要ER图如下: 2. 建表语句以及初始化数据.见补充部分. 三:具体步骤 1.步骤概览: 2.具体过程: i. Maven引入依赖 <properties> <junit.version>4.1</juni

Java Web开发SpringMVC和MyBatis框架开发环境搭建和简单实用

1.下载SpringMVC框架架包,下载地址: 点击下载 点击打开地址如图所示,点击下载即可 然后把相关的jar复制到lib下导入 2.MyBatis(3.4.2)下载 点击下载 MyBatis中文文档地址 点击查看 下载解压之后把jar复制到lib下导入,大概是这样子的 3.jdbc连接库还没有下载...这个是5.1.41版本的... 点击下载 解压之后这样子... 4.fastjson 阿里巴巴的json解析库 点击下载 版本是1.2.24 这个是托管到了github上面的,地址是:点击进入

Spring+SpringMVC+mybatis入门(环境搭建+crud)

大学毕业快一年了,在学校里做了一个android APP的项目,一直都只是熟悉android后台开发是最大的短板,工作后,公司都是自己的框架,这种开源框架基本也没时间去接触.app和后台都是基于公司的平台开发,我觉得一个人做也没有啥难度.一直在混日子,把整个app的架构分析了一遍.后来公司业务需求,我被迫PC端和android客户端都的做.真心现在啥都不是研究的很深.心累.吐槽完毕.接下来,记录我自己学习ssm框架完成crud的整个过程. 一.开发环境搭建 1.新建一个动态web项目 点击完成工

springMVC初探--环境搭建和第一个HelloWorld简单项目

注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—>封装响应的数据 d,将响应的数据进行渲染 springMVC框架有什么优点? 性能比struts2好 简单便捷易学,能进行更简洁的web层开发 天生和spring无缝集成 使用约定优于配置 能够进行简单junit测试 支持restful风格 异常处理,本地化国际化,数据验证,拦截器 提供一套强大的JSP

SpringMvc学习-环境搭建

最近在学习SpringMVC,首先来说说SpringMVC项目的搭建. 1.SpringMVC简介 spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的. 另外还有一种基于组件的.事件驱动的Web框架在此就不介绍了,如Tapestry.JSF等. Sprin

spring+springMVC+mybatis+maven+mysql环境搭建(二)

上一篇整合了spring+mybatis,基本上还不是web工程,接下来接入springMVC,Let's go! 一.工程转换成Web工程 首先右击项目-->properties-->project facets,观察是否出现下图配置 没出现也不要慌张,先把Dynamic Web Module√去掉,然后点击ok,再次右击项目,进入priperties-->project facets,勾上Dynamic Web Module,该配置就出现了,点击箭头所指,进入下图界面: 这时发现新增

SpringMVC初学-----环境搭建。

Spring接触有一段时间了,但SpringMVC一直没接触过.利用周末的时间学了一点. 环境:eclipse.maven.jetty. 1.在pom.xml文件中加入SpringMVC的依赖. <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.0.5.RELEASE</ver