SSM整合(缩减版)--可以应付简单的大作业

SSM总体结构

在这里插入图片描述

创建一个maven工程,工程目录结构及数据库设计

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

create table user
(
 id   int auto_increment
    primary key,
	name varchar(20) null,
	age  int         null
);

0.在pom.xml中添加依赖

<!-- SpringMVC -->
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
  <version> 5.2.7.RELEASE</version>
</dependency>

<!-- Spring JDBC -->
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-jdbc</artifactId>
  <version> 5.2.7.RELEASE</version>
</dependency>

<!-- Spring AOP -->
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-aop</artifactId>
  <version> 5.2.7.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-aspects</artifactId>
  <version> 5.2.7.RELEASE</version>
</dependency>

<!-- MyBatis -->
<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>3.4.5</version>
</dependency>

<!-- MyBatis整合Spring -->
<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis-spring</artifactId>
  <version>1.3.1</version>
</dependency>

<!-- MySQL驱动 -->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.20</version>
</dependency>

<!-- C3P0 -->
<dependency>
  <groupId>c3p0</groupId>
  <artifactId>c3p0</artifactId>
  <version>0.9.1.2</version>
</dependency>

<!-- JSTL -->
<dependency>
  <groupId>jstl</groupId>
  <artifactId>jstl</artifactId>
  <version>1.2</version>
</dependency>

<!-- ServletAPI -->
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.1.0</version>
</dependency>

<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.18.12</version>
  <scope>provided</scope>
</dependency>

Spring整合Mybaits,在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:p="http://www.springframework.org/schema/p"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">

<!-- 整合MyBatis -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="user" value="root"></property>
    <property name="password" value="123456"></property>
    <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/ssm?useSSL=false&amp;serverTimezone=UTC"></property>
    <property name="driverClass" value="com.mysql.cj.jdbc.Driver"></property>
    <property name="initialPoolSize" value="5"></property>
    <property name="maxPoolSize" value="10"></property>
</bean>

<!-- 配置MyBatis SqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"></property>
    <property name="mapperLocations" value="classpath:com/ssm/repository/*.xml"></property>
    <property name="configLocation" value="classpath:config.xml"></property>
</bean>

<!-- 扫描自定义的Mapper接口 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.ssm.repository"></property>
</bean>
</beans>

在SpringMVC.xml中配置MVC相关

<?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/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/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">

<!-- 启动注解驱动 -->
<mvc:annotation-driven></mvc:annotation-driven>

<!-- 扫描业务代码 -->
<context:component-scan base-package="com.ssm"></context:component-scan>

<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/"></property>
    <property name="suffix" value=".jsp"></property>
</bean>

</beans>

在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>
	<settings>
   	 <!-- 打印SQL-->
   	 <setting name="logImpl" value="STDOUT_LOGGING" />
 	</settings>
 	<typeAliases>
    	<!-- 指定一个包名,MyBatis会在包名下搜索需要的JavaBean-->
    	<package name="com.ssm.entity"/>
	</typeAliases>
	</configuration>

接下来开始创建项目中每个部分

1.创建实体类

@Data <!-- 使用lombok注解,简化实体类开发-->
public class User {
	private Integer id;
	private String name;
	private Integer age;
}

2.创建UserRepository接口和UserRepository.xml

UserRepository接口

@Repository
public interface UserRepository {
	public List<User> findAll();
}

UserRepository.xml

<?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.ssm.repository.UserRepository">
	<select id="findAll" resultType="User">
   	 	select * from user
	</select>
</mapper>

3.创建UserService接口和实现类

UserService

public interface UserService {
	public List<User> findAll();
}

UserServiceImpl

@Service
public class UserServiceImpl implements UserService {
 @Autowired
 private UserRepository userRepository;

	@Override
	public List<User> findAll() {
    	return userRepository.findAll();
	}
}

4.创建UserHandler

@Controller
	@RequestMapping("/user")
	public class UserHandler {
   	 	@Autowired
    	private UserService userService;

    	@GetMapping("/findAll")
    	public ModelAndView findAll(){
       	 ModelAndView modelAndView = new ModelAndView();
        	modelAndView.setViewName("index");
        	modelAndView.addObject("list",userService.findAll());
        	return modelAndView;
    	}
	}

5.在index.jsp中简单输出

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
	<%@page isELIgnored="false" %>
	<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
	<html>
	<head>
    	<title>Title</title>
	</head>
	<body>
		<c:forEach items="${list}" var="user">	<!-- EL表达式便利 -->
    	${user.id}--${user.name}--${user.age}
		</c:forEach>
	</body>
	</html>

6.最后运行结果

在地址栏中输入http://localhost:8080/user/findAll

在这里插入图片描述

最后需要注意在pom.xml中的build标签下添加

在这里插入图片描述

<!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
  <resources>
    <resource>
      <directory>src/main/java</directory>
      <includes>
        <include>**/*.properties</include>
        <include>**/*.xml</include>
      </includes>
      <filtering>false</filtering>
    </resource>
  </resources>

到此就整合完毕,可以自己尝试添加一下其他的功能。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值