关于IDEA运行ssm项目的一些坑以及ssm的基本的配置

导入依赖


<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.0modelVersion>

    <groupId>org.timousgroupId>
    <artifactId>springmvcartifactId>
    <version>1.0-SNAPSHOTversion>


    <dependencies>
        
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webmvcartifactId>
            <version>5.2.9.RELEASEversion>
        dependency>
        
        
        <dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatisartifactId>
            <version>3.5.6version>
        dependency>
        
        
        <dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatis-springartifactId>
            <version>2.0.5version>
        dependency>
        
        
        <dependency>
            <groupId>org.projectlombokgroupId>
            <artifactId>lombokartifactId>
            <version>1.18.12version>
            <scope>providedscope>
        dependency>
        
        
        <dependency>
            <groupId>com.mchangegroupId>
            <artifactId>c3p0artifactId>
            <version>0.9.5.5version>
        dependency>
        
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-jdbcartifactId>
            <version>5.2.9.RELEASEversion>
        dependency>
        
        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>8.0.21version>
        dependency>

    dependencies>


    
    <build>

        <resources>
            <resource>
                <includes>
                    <include>**/*.propertiesinclude>
                    <include>**/*.xmlinclude>
                includes>
                <filtering>falsefiltering>
            resource>
            <resource>
                <directory>src/main/javadirectory>
                <includes>
                    <include>**/*.propertiesinclude>
                    <include>**/*.xmlinclude>
                includes>
                <filtering>falsefiltering>
            resource>
        resources>

    build>
project>

创建一个数据库

create database ssmproject; 
create table book(
    id int(10) primary key not null auto_increment,
    name varchar(20) ,
    description varchar(255)
);

关于IDEA运行ssm项目的一些坑以及ssm的基本的配置_第1张图片
关于IDEA运行ssm项目的一些坑以及ssm的基本的配置_第2张图片# 编写基本的配置文件
这里我们通过基本三层结构来建立文件,这样方便记忆
关于IDEA运行ssm项目的一些坑以及ssm的基本的配置_第3张图片
此外还有一个database.properties的配置数据库的文件没有写,下面会有其他的配置文件

database.properties配置文件

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssmproject?serverTimezone=UTC&&useSSL=false
jdbc.username=root
jdbc.password=123456  # 你自己的数据库的密码

spring-dao配置文件


<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
     http://www.springframework.org/schema/mvc
     https://www.springframework.org/schema/mvc/spring-mvc.xsd
      http://www.springframework.org/schema/context
      https://www.springframework.org/schema/context/spring-context.xsd">

    
    <bean id="propertiesConfigurer" class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:database.propertiesvalue>
            list>
        property>
    bean>
        
    
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driver}"/>       
        <property name="jdbcUrl" value="${jdbc.url}"/>        
        <property name="user" value="${jdbc.username}"/>        
        <property name="password" value="${jdbc.password}"/>
    bean>
    
    
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>     
        <property name="configLocation" value="classpath:mybatis-config.xml"/>       
    bean>
        
    
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
                
        <property name="basePackage" value="com.timous.dao"/>
    bean>
beans>

spring-service配置文件


<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
     http://www.springframework.org/schema/mvc
     https://www.springframework.org/schema/mvc/spring-mvc.xsd
      http://www.springframework.org/schema/context
      https://www.springframework.org/schema/context/spring-context.xsd">


    
    <context:component-scan base-package="com.timous.service"/>

    
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

        <property name="dataSource" ref="dataSource"/>

    bean>

    

beans>

spring-mvc配置文件


<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
     http://www.springframework.org/schema/mvc
     https://www.springframework.org/schema/mvc/spring-mvc.xsd
      http://www.springframework.org/schema/context
      https://www.springframework.org/schema/context/spring-context.xsd">
    
    <mvc:annotation-driven/>
    
    <mvc:default-servlet-handler/>
    
    
    <context:component-scan base-package="com.timous.controller"/>
    
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

        <property name="prefix" value="/templates/"/>

        <property name="suffix" value=".html"/>  

    bean>

beans>

mybatis-config配置



<configuration>

    
    <typeAliases>
        <package name="com.timous.entity"/>
    typeAliases>

    
    <mappers>

    mappers>

configuration>

applicationContext.xml配置文件


<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
     http://www.springframework.org/schema/mvc
     https://www.springframework.org/schema/mvc/spring-mvc.xsd
      http://www.springframework.org/schema/context
      https://www.springframework.org/schema/context/spring-context.xsd">
    
    
    <import resource="spring-dao.xml"/>
    <import resource="spring-service.xml"/>
    <import resource="spring-mvc.xml"/>
    
beans>

这样配置文件就写好了,下面我们可以在建立webapp整合web,建立文件夹如下
关于IDEA运行ssm项目的一些坑以及ssm的基本的配置_第4张图片
这里我自己是建立在main下面的,然后自己添进web的。
关于IDEA运行ssm项目的一些坑以及ssm的基本的配置_第5张图片
关于IDEA运行ssm项目的一些坑以及ssm的基本的配置_第6张图片
然后修改你自己的路径,注意这里是你自己添加的路径,一定要添加web.xml
关于IDEA运行ssm项目的一些坑以及ssm的基本的配置_第7张图片
关于IDEA运行ssm项目的一些坑以及ssm的基本的配置_第8张图片
下面的这个路径指向webapp就行了,结果是webapp下面添加了一个小蓝圆圈
在这里插入图片描述

配置web.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.0modelVersion>

    <groupId>org.timousgroupId>
    <artifactId>springmvcartifactId>
    <version>1.0-SNAPSHOTversion>


    <dependencies>
        
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webmvcartifactId>
            <version>5.2.9.RELEASEversion>
        dependency>
        
        
        <dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatisartifactId>
            <version>3.5.6version>
        dependency>
        
        
        <dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatis-springartifactId>
            <version>2.0.5version>
        dependency>
        
        
        <dependency>
            <groupId>org.projectlombokgroupId>
            <artifactId>lombokartifactId>
            <version>1.18.12version>
            <scope>providedscope>
        dependency>
        
        
        <dependency>
            <groupId>com.mchangegroupId>
            <artifactId>c3p0artifactId>
            <version>0.9.5.5version>
        dependency>
        
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-jdbcartifactId>
            <version>5.2.9.RELEASEversion>
        dependency>
    dependencies>


    
    <build>

        <resources>
            <resource>
                <includes>
                    <include>**/*.propertiesinclude>
                    <include>**/*.xmlinclude>
                includes>
                <filtering>falsefiltering>
            resource>
            <resource>
                <directory>src/main/javadirectory>
                <includes>
                    <include>**/*.propertiesinclude>
                    <include>**/*.xmlinclude>
                includes>
                <filtering>falsefiltering>
            resource>
        resources>

    build>
project>

到这整合的问题基本上市已经完成了,剩下的就是测试的问题了

entity

package com.timous.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.stereotype.Repository;

@Repository
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Book {
     

    int id;
    String name;
    String description;

}

dao层

//接口
package com.timous.dao;

import com.timous.entity.Book;

import java.util.List;
@Component
public interface BookMapper {
     

    List<Book> queryAllBook();

}
Mapper配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC
        "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.timous.dao.BookMapper">

    <!--编写sql语句-->
    <select id="queryAllBook" resultType="Book">
        select * from book
    </select>

</mapper>

注意在写完mapper配置文件之后要注册

关于IDEA运行ssm项目的一些坑以及ssm的基本的配置_第9张图片

service层

//接口
package com.timous.service;

import com.timous.entity.Book;

import java.util.List;

public interface BookService {
     

    List<Book> queryAllBook();

}


//实现类
package com.timous.service;

import com.timous.dao.BookMapper;
import com.timous.entity.Book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class BookServiceImpl implements BookService{
     

    @Autowired
    private BookMapper bookMapper;

    public List<Book> queryAllBook() {
     
        return bookMapper.queryAllBook();
    }
}

controller层

package com.timous.controller;

import com.timous.entity.Book;
import com.timous.service.BookService;
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.ResponseBody;

import java.util.List;

@Controller
public class BookController {
     

    @Autowired
    private BookService bookService;

    @ResponseBody
    @RequestMapping("/test")
    public String test(){
     
        List<Book> books = bookService.queryAllBook();

        for (Book book:books) {
     
            System.out.println(book.toString());
        }

        return "hello world";

    }

}

说明项目的类型
关于IDEA运行ssm项目的一些坑以及ssm的基本的配置_第10张图片
关于IDEA运行ssm项目的一些坑以及ssm的基本的配置_第11张图片

配置tomcat

关于IDEA运行ssm项目的一些坑以及ssm的基本的配置_第12张图片
关于IDEA运行ssm项目的一些坑以及ssm的基本的配置_第13张图片
关于IDEA运行ssm项目的一些坑以及ssm的基本的配置_第14张图片
关于IDEA运行ssm项目的一些坑以及ssm的基本的配置_第15张图片
然后运行测试访问
http://localhost:8080/ssmproject/test
看到下面的页面就成功了
关于IDEA运行ssm项目的一些坑以及ssm的基本的配置_第16张图片
再去看一下后台的
关于IDEA运行ssm项目的一些坑以及ssm的基本的配置_第17张图片
也能够访问到数据

你可能感兴趣的:(JAVA框架)