maven整合SSM步骤(查询测试)

maven整合SSM

最终项目目录结构

在这里插入图片描述
在这里插入图片描述

1.导包

1.1Dependencies导包(本地jar包库中有jar包)

在这里插入图片描述
打开pom.xml文件使用Dependencies导入上图所示jar包(需要本地的jar包库中有上图所示jar 包,若没有,可以使用下面的方法。)

1.2直接修改pom.xml文件导包(需要连网下载jar包)

pom.xml文件

<dependencies>
    <dependency>
      <groupId>c3p0</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.1.2</version>
    </dependency>
    <dependency>
      <groupId>net.sourceforge.cglib</groupId>
      <artifactId>com.springsource.net.sf.cglib</artifactId>
      <version>2.2.0</version>
    </dependency>

    <dependency>
      <groupId>aopalliance</groupId>
      <artifactId>aopalliance</artifactId>
      <version>1.0</version>
    </dependency>
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>com.springsource.org.aspectj.weaver</artifactId>
      <version>1.6.8.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.1.3</version>
    </dependency>
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.4.2</version>
    </dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.3.1</version>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.36</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>1.0</version>
    </dependency>
 </dependencies>

2.配置web.xml文件

web.xml文件

	<!-- 配置DispatcherServlet:SpringMVC核心控制器 -->
	<servlet>
		<servlet-name>springDispatcherServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<!-- 设置spring-mvc配置问价路径 -->
			<param-value>classpath:spring-mvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>springDispatcherServlet</servlet-name>
		<!-- REST风格的编写方式要求路径必须为/ -->
		<url-pattern>/</url-pattern>
	</servlet-mapping>

	<!-- 设置spring配置文件的路径 -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:spring.xml</param-value>
	</context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<!-- 设置统一字符集 -->
	<!-- 解决页面和服务器的中文传递乱码问题 -->
	<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>forceEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>CharacterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	
	<!-- 支持REST风格的过滤器:可以将POST请求转换为PUT或DELETE请求 -->
	<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>

3.编写配置文件(放到resources文件夹下)

3.1jdbc数据库连接基础信息配置文件

文件名:jdbc.properties

//用户名
jdbc.username=root 
//密码
jdbc.password=root 
//driverClass对应不同的数据库使用不同的driverClass
jdbc.driverClass=com.mysql.jdbc.Driver 
//路径对应自己的数据库名和路径
jdbc.jdbcUrl=jdbc:mysql://127.0.0.1:3306/chtest?characterEncoding=UTF-8 
jdbc.initialPoolSize=5
jdbc.minPoolSize=2
jdbc.maxPoolSize=10
3.2log4j配置文件(xml)

文件名:log4j.xml

	<?xml version="1.0" encoding="UTF-8" ?>
	<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
	<log4j:configuration
		xmlns:log4j="http://jakarta.apache.org/log4j/">
	
		<appender name="STDOUT"
			class="org.apache.log4j.ConsoleAppender">
			<param name="Encoding" value="UTF-8" />
			<layout class="org.apache.log4j.PatternLayout">
				<param name="ConversionPattern"
					value="%-5p %d{MM-dd HH:mm:ss,SSS} %m  (%F:%L) \n" />
			</layout>
		</appender>
		<logger name="java.sql">
			<level value="debug" />
		</logger>
		<logger name="org.apache.ibatis">
			<level value="info" />
		</logger>
		<root>
			<level value="debug" />
			<appender-ref ref="STDOUT" />
		</root>
	</log4j:configuration>
3.3springmvc配置文件

文件名:spring-mvc.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:mvc="http://www.springframework.org/schema/mvc"
		xsi:schemaLocation="http://www.springframework.org/schema/mvc
		   http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
		   http://www.springframework.org/schema/beans
		   http://www.springframework.org/schema/beans/spring-beans.xsd
		   http://www.springframework.org/schema/context
		   http://www.springframework.org/schema/context/spring-context-4.0.xsd">
	
		<!-- 包扫描 -->
		<context:component-scan
			base-package="com.ch.ssm" use-default-filters="true">
			<!-- 只扫描handler -->
			<context:include-filter type="annotation"
				expression="org.springframework.stereotype.Controller" />
		</context:component-scan>
	
		<!-- 视图解析器 -->
		<bean id="viewResolver"
			class="org.springframework.web.servlet.view.InternalResourceViewResolver">
			<!-- 前缀 -->
			<property name="prefix" value="/WEB-INF/views/"></property>
			<!-- 后缀 -->
			<property name="suffix" value=".jsp"></property>
		</bean>
	
		<!-- 配置处理静态资源 -->
		<mvc:default-servlet-handler />
		<mvc:annotation-driven></mvc:annotation-driven>
	</beans>
3.4spring整合mybatis配置文件

文件名:spring.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"
		xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring"
		xsi:schemaLocation="http://mybatis.org/schema/mybatis-spring 
		http://mybatis.org/schema/mybatis-spring-1.2.xsd
		http://www.springframework.org/schema/beans
		http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context
		http://www.springframework.org/schema/context/spring-context-4.0.xsd
		http://www.springframework.org/schema/tx 
		http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">
		<!-- 配置包扫描 -->
		<context:component-scan
			base-package="com.ch.ssm">
			<!-- 不扫描handler -->
			<context:exclude-filter type="annotation"
				expression="org.springframework.stereotype.Controller" />
		</context:component-scan>
	
		<!-- 引入外部属性文件 -->
		<!-- 指定文件位置 -->
		<context:property-placeholder
			location="classpath:jdbc.properties" />
		<!-- 从properties属性文件中引入属性值 -->
		<bean id="dataSource"
			class="com.mchange.v2.c3p0.ComboPooledDataSource">
			<property name="user" value="${jdbc.username}" />
			<property name="password" value="${jdbc.password}" />
			<property name="jdbcUrl" value="${jdbc.jdbcUrl}" />
			<property name="driverClass" value="${jdbc.driverClass}" />
			<property name="initialPoolSize"
				value="${jdbc.initialPoolSize}" />
			<property name="minPoolSize" value="${jdbc.minPoolSize}" />
			<property name="maxPoolSize" value="${jdbc.maxPoolSize}" />
		</bean>
	
		<!-- 配置事务管理器 -->
		<bean id="transactionManager"
			class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
			<property name="dataSource" ref="dataSource"></property>
		</bean>
	
		<!-- 开启事务注解支持 -->
		<tx:annotation-driven />
	
		<!-- 整合mybatis -->
		<bean id="sqlSessionFactoryBean"
			class="org.mybatis.spring.SqlSessionFactoryBean">
			<!-- 配置数据源 -->
			<property name="dataSource" ref="dataSource"></property>
			<!-- 配置mybatis全局配置文件的路径 -->
			<property name="configLocation"
				value="classpath:mybatis-config.xml"></property>
			<!-- 配置mybatis映射文件的路径 -->
			<property name="mapperLocations"
				value="classpath:mapping/*.xml"></property>
		</bean>
	
		<!-- 扫描mapper接口 -->
		<mybatis-spring:scan
			base-package="com.ch.ssm.dao" />
	</beans>
3.5mybatis配置文件(可以用来放一些mybatis的快捷插件,例如:mybatis的分页插件)

文件名: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>
		
	</configuration>

注意:在配置插件之前先导入所用插件的jar包,这里不做配置

到此SSM整合完毕,数据库中创建表进行测试

4.测试

4.1新建表(我使用的是mysql数据库,数据库名:chtest,使用的数据库和数据库名有不同的修改jdbc配置文件中的信息。)

在这里插入图片描述
表名:person
俩个属性:id,name
向表中添加几条数据

4.2实现查询功能测试
创建实体类
	package com.ch.ssm.beans;

	public class Person {
		private int id;
		private String name;
		//无参构造方法
		//有参构造方法
		//get()和set()方法
		//toString()方法
	}
创建dao层接口
	package com.ch.ssm.dao;

	import java.util.List;
	import com.ch.ssm.beans.Person;
	
	public interface PersonDao {
		//查询全部
		List<Person> findAll();
	}
mapper映射文件(在resources文件夹下创建mapping文件夹)
	<?xml version="1.0" encoding="UTF-8" ?>
	<!DOCTYPE mapper
	  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
	  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
	<mapper namespace="com.ch.ssm.dao.PersonDao">
		<select id="findAll" resultType="com.ch.ssm.beans.Person">
			select * from person
		</select>
	</mapper>
service层代码

Service接口

	package com.ch.ssm.service;

	import java.util.List;
	import com.ch.ssm.beans.Person;
	public interface PersonService {
		//查询全部
		List<Person> findAll();
	}

Service实现类

	package com.ch.ssm.service.impl;

	import java.util.List;
	import org.springframework.beans.factory.annotation.Autowired;
	import org.springframework.stereotype.Service;
	import com.ch.ssm.beans.Person;
	import com.ch.ssm.dao.PersonDao;
	import com.ch.ssm.service.PersonService;
	
	@Service("personService")
	public class PersonServiceImpl implements PersonService {
		@Autowired
		PersonDao personDao;
	
		public List<Person> findAll() {
			List<Person> persons = personDao.findAll();
			return persons;
		}
	}
Controller层代码
	package com.ch.ssm.controller;

	import java.util.List;
	import java.util.Map;
	import org.springframework.beans.factory.annotation.Autowired;
	import org.springframework.stereotype.Controller;
	import org.springframework.web.bind.annotation.RequestMapping;
	import org.springframework.web.bind.annotation.RequestMethod;
	
	import com.ch.ssm.beans.Person;
	import com.ch.ssm.service.PersonService;
	
	@Controller
	public class PersonController {
		@Autowired
		PersonService personService;
		
		@RequestMapping(value = "/persons",method = RequestMethod.GET)
		public String findAll(Map<String, Object> map) {
			List<Person> persons = personService.findAll();
			map.put("persons", persons);
			return "list";
		}
	}
index.jsp(webapp文件夹下),list.jsp(views文件夹下)

index.jsp

	<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
	<!DOCTYPE html>
	<html>
		<head>
			<meta charset="UTF-8">
			<title>Insert title here</title>
		</head>
		<body>
			<a href="${pageContext.request.contextPath}/persons">显示所有</a>
		</body>
	</html>

注意这里创建jsp文件时可能会报错,是因为没有导入servlet的部分jar包,按照下面的方式操作一下就行
鼠标右击项目–>Properties–>Target Runtimes
勾选服务器,Apply一下就好了
在这里插入图片描述
list.jsp

	<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
	<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
	<!DOCTYPE html>
	<html>
	<head>
	<meta charset="UTF-8">
	<title>Insert title here</title>
	</head>
	<body>
		<table border="1" cellpadding="10" cellspacing="0"
			style="text-align: center;">
			<thead>
				<tr>
					<td>员工ID</td>
					<td>姓名</td>
				</tr>
			</thead>
			<tbody>
				<c:if test="${not empty requestScope.persons }">
					<c:forEach items="${requestScope.persons }" var="person" varStatus="i">
						<tr>
							<td>${person.id }</td>
							<td>${person.name }</td>
						</tr>
					</c:forEach>
				</c:if>
			</tbody>
		</table>
	</body>
	</html>

测试工作准备完成部署项目进行测试

地址栏输入:http://localhost:8080/CRUD01/
在这里插入图片描述
点击显示所有
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值