JAVA Web项目开发SSM框架搭建(第一天)

请添加图片描述

  • 💌 所属专栏:【Java Web项目构建过程】

  • 😀 作  者:我是夜阑的狗🐶

  • 🚀 个人简介:一个正在努力学技术的码仔,专注基础和实战分享 ,欢迎咨询!

  • 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘

您的点赞、关注、收藏、评论,是对我最大的激励和支持!!!🤩 🤩 🤩


前言

  大家好,又见面了,我是夜阑的狗,本文是专栏【大数据学习笔记(华为云)】专栏的第3篇文章,主要讲解是JAVA Web项目开发SSM框架搭建。
  专栏地址:【Java Web项目构建过程】, 此专栏是我是夜阑的狗对JAVA Web项目开发SSM框架搭建,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。
  如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。


一、SSM框架搭建

1、 配置具体流程:

  文件定义及意义:
  配置文件及目录位置

  • 1、pom.xml----引入项目jar包-------项目根目录
    在这里插入图片描述
    Pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <!-- 这里要自己创建的大项目名称,本人的是com.csh -->
  <groupId>com.csh</groupId>
   <!-- 这里要自己创建的子项目名称,本人的是CSH -->
  <artifactId>CSH</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.8.1</version>
			<scope>test</scope>
		</dependency>
		<!--======================= mybatis整合============================ -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.4.4</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.46</version>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.17</version>
		</dependency>
		<!-- mybatis分页插件 -->
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper</artifactId>
			<version>5.1.6</version>
		</dependency>
		
		<!--======================= spring整合mybatis============================ -->
		<dependency>
			<groupId>c3p0</groupId>
			<artifactId>c3p0</artifactId>
			<version>0.9.1.2</version>
		</dependency>
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>1.3.1</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>4.3.12.RELEASE</version>
		</dependency>
		<!--======================= spring整合============================ -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>4.3.12.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>4.3.12.RELEASE</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
			<version>4.3.12.RELEASE</version>
		</dependency>
		<!--======================= springmvc============================ -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>4.3.12.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>jstl</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>

		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.9.2</version>
		</dependency>

	</dependencies>
  
</project>

  • 2、web.xml----项目入口文件-------WEB-INF文件夹下面
    在这里插入图片描述
    Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
	<!-- 这里要自己创建的子项目名称,本人的是CSH -->
	<display-name>CSH</display-name>
	<!-- needed for ContextLoaderListener -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:spring-config.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>
	
   <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>true</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>

  <!-- The front controller of this Spring Web application, responsible for handling all application requests -->
	<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:springmvc-servlet.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>springmvc</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
</web-app>

  • 3、spring-config.xml-----spring配置文件-----resources文件夹下(需自己创建),这里需要注意的一点是mapper文件是以包的形式创建的。
    在这里插入图片描述

Spring-config.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:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring"
	xmlns:p="http://www.springframework.org/schema/p"
	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-4.3.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
  <!-- 这里要自己创建的大项目名称,本人的是com.csh -->
	<context:component-scan base-package="com.csh">
			<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
	</context:component-scan>
	
	<context:property-placeholder location="classpath:jdbc.properties"/>
 	
 	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
      	<property name="driverClass" value="${jdbc.driverClass}"></property>
      	<property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
      	<property name="user" value="${jdbc.user}"></property>
      	<property name="password" value="${jdbc.password}"></property>
      </bean>
      <!-- 事务 -->
      <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
 			<property name="dataSource" ref="dataSource" />
 	</bean>
<!--  	 	配置事务通知 -->
 	<tx:annotation-driven transaction-manager="transactionManager"/>

 	
 	<!-- 配置SessionFactory -->
	<bean name="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<!-- 实例化sqlSessionFactory时需要使用上述配置好的数据源以及SQL映射文件 -->
		<property name="dataSource" ref="dataSource" />
		<property name="configLocation" value="classpath:mybatis-config.xml"></property>
		<property name="mapperLocations" value="classpath:mapper/*.xml" />
		<!-- 这里要自己创建的大项目名称,本人的是com.csh -->
		<property name="typeAliasesPackage" value="com.csh"></property>
	</bean>
 <!-- 配置扫描器,将myBatis接口的实现加入到ioc接口的实现中 -->
 <!-- 通过注解形式配置 -->
 <!-- 这里要自己创建的dao包的名称,本人的是com.csh.dao -->
 <mybatis-spring:scan base-package="com.csh.dao"/>
          
</beans>

  • 4、springmvc-config.xml-----springmvc配置文件-----resources文件夹下(需自己创建
    Springmvc-config.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.3.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<!-- 静态资源访问 -->
 <mvc:default-servlet-handler /> 
<mvc:annotation-driven ></mvc:annotation-driven>
<!-- 这里要自己创建的controller包的名称,本人的是com.csh.dao -->
<context:component-scan  base-package="com.csh.controller">
	<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!-- 视图解析器  -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
			<property name="prefix" value="/WEB-INF/page/"></property>
			<property name="suffix" value=".jsp"></property>
	</bean>

</beans>

  • 5、mybatis-config.xml----mybatis配置文件----resources文件夹下(需自己创建
    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>

<settings>
	<setting name="mapUnderscoreToCamelCase" value="true"/>
	<setting name="lazyLoadingEnabled" value="true" />
	<setting name="aggressiveLazyLoading"  value="false" />
	<setting name="cacheEnabled" value="true"/>
    <setting name="logImpl" value="LOG4J" />
</settings>

 <plugins>
    <!-- com.github.pagehelper为PageHelper类所在包名 -->
    <plugin interceptor="com.github.pagehelper.PageInterceptor">
       <!--  参数合理化,当该参数设置为 true 时,pageNum<=0 时会查询第一页, 
        pageNum>pages(超过总数时),会查询最后一页。 -->
        <property name="reasonable" value="true"/>
        <property name="supportMethodsArguments" value="true"/>
        <property name="params" value="pageNum=pageNum;pageSize=pageSize;"/>
	</plugin>
</plugins>


</configuration>

  • 6、jdbc.properties—连接jdbc数据库配置文件-----resources配置文件(需自己创建
    Jdbc.properties
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/csh?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
jdbc.user=root
jdbc.password=1234

注:这里我的数据库名称为csh
在这里插入图片描述

  • 7、LoginMapper.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.csh.dao.LoginDao">

<!-- 对数据库进行操作 -->
<select id="getUserByNameAndPass" resultType="users">
	select * from users 
		where 
			username=#{username}
			and password=#{password}
</select>

</mapper>

注:以上这文件是本人第一天需要创建配置的,其他文件都是后续才需要用的
  包创建作用及位置:

在这里插入图片描述

  • Step 1、controller包—放置XXController.java类—java下创建package包:com.姓名缩写.controller
  • Step 2、service包–放置XXService.java接口文件–java下创建package包:com.姓名缩写.service
  • Step 3、service.impl包–放置XXServiceImpl.java类文件–java下创建package包:com.姓名缩写.service.impl
  • Step 4、dao包–放置XXDao.java接口文件–java文件夹创建package包:com.姓名缩写.dao
  • Step 5、mapper文件夹–放置XXMapper.xml配置文件—resource下创建包mapper包

XXMapper.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.csh.dao.XXDao">

</mapper>

到这里SSM框架就配置完成了,以上这些就是本人在参与项目培训过程中的第一天笔记

  这里是关于SSM框架配置文件一些介绍

  • 1、web.xml(入口)
    springmvc-servlet (DispatcherServlet),spring-config(ContextLoaderListener)
    辅助:编码格式(CharacterEncodingFilter)
  • 2、springmvc-servlet.xml(springmvc配置文件)
    (类的驱动)context:component-scan —注解扫描(只扫描controller)
    (方法的驱动)mvc:annotation-driven —springmvc注解驱动(选配,数据类型格式化,数据校验,国际化。。。)
  • 3、spring-config.xml(spring配置文件)
    context:component-scan —注解扫描(不扫描controller)
    c3p数据库连接池(ComboPooledDataSource)—jdbc.properties
    DataSourceTransactionManager----事务
    tx:annotation-driven—事务通知(注解)
    SqlSessionFactoryBean----spring配置mybatis信息(数据库dataSource,mybatis而配置文件信息。。。。)
    mybatis-spring:scan----将mybatis的xml配置文件加入到spring的ioc容器中
  • 4、log4j.properties日志输出(辅助)
  • 5、类文件
    controller ----@Controller—注入serive(@Autowired)
    service(seriviceImpl)------接口的实现类@Service—注入dao(@Autowired)
    dao--------dao接口
    mapper-----namespace引入dao接口,实现数据的增删改查
  • 6、实现流程:
    浏览器发送http请求地址url,进入springmvc的controller控制器,找到对应的请求方式@Requestmapping(“url”)-查询信息,结果返回到modelAndView中–通过视图解析器,返回页面。

二、总结

感谢观看,如果有帮助到你,请给题解点个赞和收藏,让更多的人看到。🌹 🌹 🌹

也欢迎你,关注我。👍 👍 👍

原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!

更多专栏订阅:



订阅更多,你们将会看到更多的优质内容!!

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
这个错误通常是由于 MyBatis 找不到对应的映射文件或者映射文件中没有对应的 SQL 语句引起的。请检查你的映射文件和 SQL 语句是否正确,并且与你的代码中的 namespace 和 id 是否匹配。 首先,请检查你的映射文件是否在 MyBatis 的配置文件中正确配置了。例如,如果你的映射文件名为 `loginMapper.xml`,那么你应该在配置文件中添加以下内容: ```xml <mappers> <mapper resource="com/example/mapper/loginMapper.xml"/> </mappers> ``` 然后,请检查你的映射文件中是否包含名为 `getUser` 的 SQL 语句,并且 namespace 是否与你的代码中的一致。例如,如果你的映射文件中包含以下 SQL 语句: ```xml <!-- loginMapper.xml --> <mapper namespace="com.example.mapper.loginMapper"> <select id="getUser" resultType="com.example.entity.User"> SELECT * FROM user WHERE id = #{id} </select> </mapper> ``` 那么你的代码中应该包含以下内容: ```java // UserDao.java package com.example.dao; import com.example.entity.User; public interface UserDao { User getUser(int id); } ``` ```xml <!-- UserDao.xml --> <mapper namespace="com.example.dao.UserDao"> <select id="getUser" parameterType="int" resultMap="userMap"> select * from user where id = #{id} </select> <resultMap id="userMap" type="com.example.entity.User"> <result property="id" column="id"/> <result property="name" column="name"/> <result property="age" column="age"/> </resultMap> </mapper> ``` 最后,请确保你的映射文件和接口文件在同一个包下,并且映射文件的命名规则为 `接口名.xml`。如果仍然无法解决问题,请检查日志文件以获取更多详细信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是夜阑的狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值