ssm整合-1

环境搭建

1、maven工程

1.1 创建maven工程

ps:创建完成后需要导入xml文件:在工程属性中取消勾选Dynamic web module,apply一下,然后重新勾选,选择further configration available,添加web.xml需要放入的路径,如下图

1.2 配置pom文件

导入相关jar包

2、引入bootstap

在jsp页面中添加css样式和js

<!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet"
	href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script
	src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>

使用方法见bootstrap官网

3、配置ssm

3.1 、配置web.xml
  1. 加载spring的配置文件:ContextLoaderListener

     <context-param>
     	<param-name>contextConfigLocation</param-name>
     	<param-value>classpath:spring/spring-context.xml</param-value>
     </context-param>
    
     <!-- Bootstraps the root web application context before servlet initialization -->
     <listener>
     	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
     </listener>
    
  2. 配置前端控制器:DispatcherServlet

     <servlet>
     	<servlet-name>springDispatcherServlet</servlet-name>
     	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     	<init-param>
     		<param-name>contextConfigLocation</param-name>
     		<param-value>classpath:spring/springmvc-config.xml</param-value>
     	</init-param>
     	<load-on-startup>1</load-on-startup>
     </servlet>
    
     <!-- Map all requests to the DispatcherServlet for handling -->
     <servlet-mapping>
     	<servlet-name>springDispatcherServlet</servlet-name>
     	<url-pattern>/</url-pattern>
     </servlet-mapping>
    
  3. 配置字符集编码:CharacterEncodingFilter

     <filter>
     	<filter-name>characterEncodingFilter</filter-name>
     	<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
     	<init-param>
     		<param-name>encoding</param-name>
     		<param-value>utf-8</param-value>
     	</init-param>
     	<init-param>
     		<param-name>forceRequestEncoding</param-name>
     		<param-value>true8</param-value>
     	</init-param>
     	<init-param>
     		<param-name>forceResponseEncoding</param-name>
     		<param-value>true</param-value>
     	</init-param>
     </filter>
     <filter-mapping>
     	<filter-name>characterEncodingFilter</filter-name>
     	<url-pattern>/*</url-pattern>
     </filter-mapping>
    
  4. 配置rest风格的crud:hiddenHttpMethodFilter

     <filter>
     	<filter-name>hiddenHttpMethodFilter</filter-name>
     	<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
     </filter>
     <filter-mapping>
     	<filter-name>hiddenHttpMethodFilter</filter-name>
     	<url-pattern>/*</url-pattern>
     </filter-mapping>
    

4、配置springmvc

  1. 配置扫描的包

     <context:component-scan base-package="com.lee">
     	<context:include-filter type="annotation"
     		expression="org.springframework.stereotype.Controller" />
     </context:component-scan>
    
  2. 视图解析器

     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
     	<property name="prefix" value="/WEB-INF/views/"></property>
     	<property name="suffix" value=".jsp"></property>
     </bean>
    
  3. 静态资源处理

    <mvc:default-servlet-handler/>

  4. 注解驱动

    <mvc:annotation-driven/>

###5、spring配置(数据源,整合mybatis、事务控制)

  1. 包扫描

     <context:component-scan base-package="com.lee">
     	<context:exclude-filter type="annotation"
     		expression="org.springframework.stereotype.Controller" />
     </context:component-scan>
    
  2. 数据源

     <context:property-placeholder
     	location="classpath:db.properties" />
     <bean id="dataSource"
     	class="com.mchange.v2.c3p0.ComboPooledDataSource">
     	<property name="user" value="${mysql.user}"></property>
     	<property name="password" value="${mysql.password}"></property>
     	<property name="driverClass" value="${mysql.jdbcDriver}"></property>
     	<property name="jdbcUrl" value="${mysql.jdbcUrl}"></property>
     </bean>
    
  3. 整合mybatis,让spring来管理mybatis的sqlsessionfactory

     <bean id="sqlSessionFactory"
     	class="org.mybatis.spring.SqlSessionFactoryBean">
     	<property name="dataSource" ref="dataSource"></property>
     	<property name="configLocation"	value="classpath:mybatis-config.xml"></property>
     	<property name="mapperLocations" value="classpath:mapper/*.xml"></property>
     </bean>
     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
     	<property name="basePackage" value="com.lee.dao"></property>
     </bean>
    
  4. 事务控制:DataSourceTransactionManager

     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
     	<property name="dataSource" ref="dataSource"></property>
     </bean>
    
     <aop:config>
     	<aop:pointcut expression="execution(* com.lee.service..*(..))" id="txPoint"/>
     	<aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint"/>
     </aop:config>
     <tx:advice id="txAdvice">
     	<tx:attributes>
     		<tx:method name="*"/>
     		<tx:method name="get*" read-only="true"/>
     	</tx:attributes>
     </tx:advice>
    

6、mybatis配置

约束条件

<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">

配置驼峰命名,其他配置参考官方文档

    <settings>
		<!-- 驼峰命名 -->
		<setting name="mapUnderscoreToCamelCase" value="true"/>
	</settings>

7、mybatis的generator

7.1 在pom中加入jar包
	<dependency>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-core</artifactId>
			<version>1.3.5</version>
	</dependency>
7.2 配置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>

	<!-- 数据库连接信息 -->
	<context id="DB2Tables" targetRuntime="MyBatis3">
		<commentGenerator>
			<property name="suppressAllComments" value="true" />
		</commentGenerator>
		<jdbcConnection driverClass="com.mysql.jdbc.Driver"
			connectionURL="jdbc:mysql:///ssm" userId="root" password="root">
		</jdbcConnection>

		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>

		<!-- 存放java bean -->
		<javaModelGenerator targetPackage="com.lee.pojo"
			targetProject=".\src\main\java">
			<property name="enableSubPackages" value="true" />
			<property name="trimStrings" value="true" />
		</javaModelGenerator>

		<!-- xml文件 -->
		<sqlMapGenerator targetPackage="mapper"
			targetProject=".\src\main\resources">
			<property name="enableSubPackages" value="true" />
		</sqlMapGenerator>

		<!-- dao -->
		<javaClientGenerator type="XMLMAPPER"
			targetPackage="com.lee.dao" targetProject=".\src\main\java">
			<property name="enableSubPackages" value="true" />
		</javaClientGenerator>

		<!-- table -->
		<table tableName="tbl_employee" domainObjectName="Employee"></table>
		<table tableName="tbl_dept" domainObjectName="Department"></table>

	</context>
	</generatorConfiguration>
7.3 利用java来运行generator

编写一个类,在main方法中添加,运行之后刷新工程,生成相应文件

	    List<String> warnings = new ArrayList<String>();
		boolean overwrite = true;
		//配置文件路径
		File configFile = new File("./src/main/resources/mybatis/generatorConfig.xml");
		ConfigurationParser cp = new ConfigurationParser(warnings);
		Configuration config = cp.parseConfiguration(configFile);
		DefaultShellCallback callback = new DefaultShellCallback(overwrite);
		MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
		myBatisGenerator.generate(null);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值