一,Spriing MVC 的使用
a.在generatorConfig(mysql).xml配置mybatis实体类进行自动生成bean,Mappper,dao等。
<?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>
<!-- 设置mysql自动生成文件jar包路径 -->
<classPathEntry
location="./WebContent/WEB-INF/lib/mybatis-generator-core-1.3.1.jar" />
<!-- 此处指定生成针对MyBatis3的DAO -->
<context id="context" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true" />
<property name="defaultModelType" value="hierarchical"/>
</commentGenerator>
<!-- jdbc连接信息 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/db" userId="root" password="123456" />
<!-- 生成entity对象及保存路径 -->
<javaModelGenerator targetPackage="com.controller.bean"
targetProject="src" />
<!-- 生成xml文件以及配置文件及保存路径 -->
<sqlMapGenerator targetPackage="com.controller.mapper"
targetProject="src" />
<!-- 生成用于查询的dao对象及保存路径 -->
<javaClientGenerator targetPackage="com.controller.dao"
targetProject="src" type="XMLMAPPER" />
<!-- 想要生成的数据库表,自动化工具会根据该表的结构生成相应的vo对象 -->
<table schema="" tableName="数据库表名"
domainObjectName="生成实体类名" enableCountByExample="false"
enableUpdateByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" selectByExampleQueryId="false" />
</context>
</generatorConfiguration>
b.在MyBatisGeneratorTool.java程序中进行读取生成相应的文件,生成之后刷新即可看到。
package config.mybatis;
import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.exception.InvalidConfigurationException;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;
/**
* MyBatis工具类:自动生成代码
* @author Studio
*
*/
public class MyBatisGeneratorTool_mysql {
private static Logger log = Logger.getLogger(MyBatisGeneratorTool_mysql.class);
public static void main(String[] args){
try {
// 读取使用Java的特性文件编写的配置文件。
// PropertyConfigurator.configure("//config//mybatis//log4j.properties");
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
// generator文件路径
String genCfg = "/config/mybatis/generatorConfig(mysql).xml";
log.info(" generator path :"+ genCfg);
File configFile = new File(MyBatisGeneratorTool_mysql.class.getResource(genCfg).getFile());
ConfigurationParser configPaser = new ConfigurationParser(warnings);
Configuration config = configPaser.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
log.debug("successful!!!");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XMLParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
c.配置sqlMapConfig.xml文件,添加实体类与别名,导入相应的mapper与对应的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.controller.bean.Users" alias="Users" />
</typeAliases>
<!-- 导入mapper配置文件 -->
<mappers>
<mapper resource="com/controller/mapper/UsersMapper.xml" />
</mappers>
</configuration>
d,配置beans,让dao,impl,service之间交互。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd" [
<!ENTITY contextInclude SYSTEM "org/springframework/web/context/WEB-INF/contextInclude.xml">
]>
<!-- 配置bean -->
<beans>
<!-- tuanshang_users配置 -->
<bean id="userDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.controller.dao.UsersMapper"></property>
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean>
<bean id="userServiceBase" class="com.controller.business.login.service.impl.IUserMapperImpl">
<property name="usermapper" ref="userDao"></property>
</bean>
<bean id="userService" parent="transactionBese">
<property name="target" ref="userServiceBase"></property>
</bean>
</beans>
e,编写程序相关的dao,impl,service层并传递到controller进行操作到相应的jsp页面。
二,Spring MVC注解
1,导入注解需要使用的jar包放置到lib目录
2,配置spring.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<!-- 默认注解扫描包的路径 -->
<context:component-scan base-package="com.controller" />
<!-- 导入注解所需要的jar包 -->
<mvc:annotation-driven />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<!-- 静态资源访问 -->
<mvc:resources location="/images/" mapping="/images/**" />
<mvc:resources location="/img/" mapping="/img/**" />
<mvc:resources location="/js/" mapping="/js/**" />
<mvc:resources location="/css/" mapping="/css/**" />
<mvc:resources location="/airline/" mapping="/airline/**" />
<!--定义跳转文件的前后缀 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
<!--配置表单上传的视图解析器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="utf-8" />
<property name="maxUploadSize" value="10485760000" />
<property name="maxInMemorySize" value="40960" />
</bean>
<!-- <bean id="initCity" class="com.controller.business.reservation.service.serviceImpl.InitBean"
init-method="createPool"> </bean> -->
</beans>
3,使用注解-->常用注解
@Controller 用于action类上,声明Action组件
@Service 用于service或biz的类上声明Service组件 @Service("serviceName")
@Repository 用于dao包下的类上声明Dao组件 @Repository("daoName")
@Component 用于不确定类上 引号中的内容表示给组件取名字,相当于bean标签中的id属性值<bean id="person"> @Component("className")
@RequestMapping("/url") 用于用户请求映射的地址 @RequestMapping("/loginJump")
@Resource 用于注入,( j2ee提供的 ) 默认按名称装配,@Resource(name="beanName")
@Autowired 用于注入,(srping提供的) 默认按类型装配
@Transactional( rollbackFor={Exception.class}) 事务管理
@Scope("prototype") 设定bean的作用域
@PostConstruct 注解实始化方法
@PreDestroy 注解销毁方法
@ModelAttribute("reg_form") 用于方法内作为参数
附:
如何使用Mybatis自动生成bean,Mappper,dao等。
先导入需要使用的jar包:mybatis-generator-core-1.3.2.jar 放到项目的lib路径下.
配置generatorConfig(mysql).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>
<!-- 设置mysql自动生成文件jar包路径 -->
<classPathEntry
location="./WebContent/WEB-INF/lib/mybatis-generator-core-1.3.2.jar" />
<!-- 此处指定生成针对MyBatis3的DAO -->
<context id="context" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true" />
<property name="defaultModelType" value="hierarchical"/>
</commentGenerator>
<!-- jdbc连接信息 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/db" userId="root"
password="123456" />
<!-- 生成entity对象及保存路径 -->
<javaModelGenerator targetPackage="com.controller.bean"
targetProject="src" />
<!-- 生成xml文件以及配置文件及保存路径 -->
<sqlMapGenerator targetPackage="com.controller.mapper"
targetProject="src" />
<!-- 生成用于查询的dao对象及保存路径 -->
<javaClientGenerator targetPackage="com.controller.dao"
targetProject="src" type="XMLMAPPER" />
<!-- 想要生成的数据库表,自动化工具会根据该表的结构生成相应的vo对象 -->
<table schema="" tableName="数据库表名"
domainObjectName="生成entity对象名" enableCountByExample="false"
enableUpdateByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" selectByExampleQueryId="false" />
<!-- <table schema="" tableName="qbz_users"
domainObjectName="Users" enableCountByExample="false"
enableUpdateByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" selectByExampleQueryId="false" /> -->
</context>
</generatorConfiguration>
下面为自动生成文件的程序代码
package config.mybatis;
import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.exception.InvalidConfigurationException;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;
/**
* MyBatis工具类:自动生成代码
* @author Studio
*
*/
public class MyBatisGeneratorTool_mysql {
private static Logger log = Logger.getLogger(MyBatisGeneratorTool_mysql.class);
public static void main(String[] args){
try {
// 读取使用Java的特性文件编写的配置文件。
// PropertyConfigurator.configure("//config//mybatis//log4j.properties");
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
// generator文件读取路径
String genCfg = "/config/mybatis/generatorConfig(mysql).xml";
log.info(" generator path :"+ genCfg);
File configFile = new File(MyBatisGeneratorTool_mysql.class.getResource(genCfg).getFile());
ConfigurationParser configPaser = new ConfigurationParser(warnings);
Configuration config = configPaser.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
log.debug("successful!!!");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XMLParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
解决项目中多个xml文件读取
在web.xml文件中增加配置如下:
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/xxx/*.xml</param-value>
xxx表示xml文件路径 *.xml表示后缀名为xml的任意文件
</init-param>
分享到:
相关推荐
在配置Spring MVC项目时,你需要在pom.xml中声明Spring MVC和相关库的依赖,例如Spring Web、Spring Core、Spring Context等。 然后,Tomcat是一款开源的Servlet容器,常被用来部署和运行Java Web应用。在Eclipse中...
【Eclipse+Tomcat+Maven 配置Spring MVC图文教程】 在开发Java Web应用程序时,集成Spring MVC框架是常见的需求。本教程将详细介绍如何在Eclipse IDE中配置开发环境,包括Eclipse、Tomcat服务器、Maven构建工具以及...
2. **Java配置增强**:Spring 4.2.x系列进一步提升了Java配置的支持,使得在没有XML配置的情况下也能轻松地配置Spring MVC。 3. **RESTful支持**:Spring MVC提供了对RESTful风格的HTTP方法(如GET、POST、PUT、...
七、Spring MVC如何访问到静态的文件:描述了如何配置Spring MVC来处理静态资源,如图片、JavaScript和CSS文件等。 八、Spring MVC请求如何映射到具体的Action中的方法:说明了如何配置映射器(HandlerMapping)将...
4. **配置Spring MVC**:创建Spring MVC的配置文件,如`servlet-context.xml`,配置DispatcherServlet、视图解析器(如InternalResourceViewResolver)、拦截器等。 5. **配置MyBatis**:编写MyBatis的全局配置文件...
配置Spring MVC通常涉及以下步骤: - 引入Spring MVC相关依赖。 - 配置web.xml,定义DispatcherServlet并加载Spring MVC的配置文件。 - 在Spring MVC配置文件中声明处理器映射器、视图解析器、以及自定义的控制...
- 配置Spring MVC:在Spring的配置文件中,我们需要定义DispatcherServlet、视图解析器和处理器映射器等。 - 集成MyBatis:引入MyBatis的依赖,配置SqlSessionFactoryBean,创建MapperScannerConfigurer扫描Mapper...
在提供的"spring MVC.docx"文档中,可能详细介绍了如何配置Spring MVC环境,创建Controller,处理请求,以及如何配置视图解析器等内容。对于初学者来说,这是一份很好的实践指南,可以帮助理解Spring MVC的工作原理...
接着,配置Spring MVC的DispatcherServlet-servlet.xml,设置视图解析器、拦截器等。对于Mybatis,需要编写Mapper XML文件和对应的Mapper接口,实现数据访问。 在实际开发中,我们通常会使用Spring Boot来简化SSM的...
SPRING MVC 配置过程 ...-- 配置Spring MVC --> 通过对 SPRING MVC 的配置过程的详细解释,我们可以了解到 SPRING MVC 的基本架构和配置方法,从而更好地应用 SPRING MVC 框架来开发 WEB 应用程序。
- **配置Spring MVC** 首先,我们需要创建Spring MVC的配置文件,比如`spring-mvc.xml`,其中包含视图解析器、模型-视图对象、以及Spring MVC的其他相关配置。 - **引入MyBatis** 在Spring配置文件中引入...
配置Spring MVC通常涉及web.xml文件中的DispatcherServlet配置,以及Spring配置文件中定义的Controller、ViewResolver和其他组件。Spring Boot简化了这一过程,通过自动配置和@SpringBootApplication注解可以快速...
6. **配置Spring MVC**:在`DispatcherServlet`的配置文件(如`web.xml`)中,我们需要配置`DispatcherServlet`,并指向Spring MVC的配置文件。在Spring MVC配置文件中,我们需要设置视图解析器、映射处理器、数据...
要使用Spring MVC,首先需要在项目中引入Spring MVC的依赖,并配置Spring的DispatcherServlet,它是Spring MVC的前端控制器,负责调度请求到相应的处理器。 3. **Controller** Controller是处理请求的组件,通常...
4. **配置Spring MVC**:在Spring MVC的配置文件中,设置`WebServiceMessageReceiver`和`WebServiceTemplate`,并定义一个`@Controller`来处理HTTP请求,将请求转发到Web服务。 5. **客户端调用**:在Spring MVC...
实例中可能包含一个或多个配置文件,如`spring-servlet.xml`,用于配置Spring MVC的组件,如视图解析器、拦截器、数据源、以及控制器的bean定义。 4. **HelloWorldController**: 这个名称暗示了项目中的核心控制...
接着,我们需要配置Spring MVC的DispatcherServlet。在`webapp/WEB-INF`下创建`web.xml`,定义DispatcherServlet并指定Spring MVC的配置文件。 在`src/main/resources`下创建`applicationContext.xml`,这是Spring ...
2. **配置Spring MVC**:学习如何通过XML或Java配置来设置Spring MVC环境,包括servlet配置、组件扫描、MVC注解驱动等。 3. **Controller处理请求**:掌握@RequestBody、@RequestParam、@PathVariable等注解的用法...
3. **配置Spring MVC**:创建Spring MVC的配置文件(如`servlet-context.xml`),配置DispatcherServlet,声明视图解析器,定义拦截器,以及处理器映射器和处理器适配器。 4. **配置Mybatis**:编写Mybatis的全局...