1.建库建表
    image.png

    1. CREATE DATABASE ssmDemo;
    2. USE ssmDemo;
    3. DROP TABLE IF EXISTS 'books';
    4. CREATE TABLE books(
    5. bookID INT(10) NOT NULL AUTO_INCREMENT COMMENT '书id',
    6. bookName VARCHAR(100) NOT NULL COMMENT '书名',
    7. bookCounts INT(11) NOT NULL COMMENT '数量',
    8. detail VARCHAR(200) NOT NULL COMMENT '描述',
    9. KEY bookID (bookID)
    10. ) ENGINE=INNODB DEFAULT CHARSET=utf8
    11. INSERT INTO books (bookID,bookName,bookCounts,detail)VALUES
    12. (1,'Java',1,'从入门到放弃'),
    13. (2,'MySQL',10,'从删库到跑路'),
    14. (3,'Linux',5,'从入门到进牢');

    2.创建Maven工程
    maven文件(依赖)

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <project xmlns="http://maven.apache.org/POM/4.0.0"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    5. <modelVersion>4.0.0</modelVersion>
    6. <groupId>org.example</groupId>
    7. <artifactId>ssmDemo1</artifactId>
    8. <version>1.0-SNAPSHOT</version>
    9. <properties>
    10. <maven.compiler.source>8</maven.compiler.source>
    11. <maven.compiler.target>8</maven.compiler.target>
    12. </properties>
    13. <!--依赖-->
    14. <!--junit,DataBaseDriverConnectionPoolServletmybatismybatis-springspring-->
    15. <dependencies>
    16. <!--Junit-->
    17. <dependency>
    18. <groupId>junit</groupId>
    19. <artifactId>junit</artifactId>
    20. <version>4.12</version>
    21. <scope>test</scope>
    22. </dependency>
    23. <!--DataBasePool :c3p0-->
    24. <dependency>
    25. <groupId>com.mchange</groupId>
    26. <artifactId>c3p0</artifactId>
    27. <version>0.9.5.2</version>
    28. </dependency>
    29. <!-- 日志 -->
    30. <dependency>
    31. <groupId>ch.qos.logback</groupId>
    32. <artifactId>logback-classic</artifactId>
    33. <version>1.2.3</version>
    34. </dependency>
    35. <!-- ServletAPI -->
    36. <dependency>
    37. <groupId>javax.servlet</groupId>
    38. <artifactId>javax.servlet-api</artifactId>
    39. <version>3.1.0</version>
    40. <scope>provided</scope>
    41. </dependency>
    42. <!-- Spring5Thymeleaf整合包 -->
    43. <dependency>
    44. <groupId>org.thymeleaf</groupId>
    45. <artifactId>thymeleaf-spring5</artifactId>
    46. <version>3.0.12.RELEASE</version>
    47. </dependency>
    48. <!--json-->
    49. <dependency>
    50. <groupId>com.fasterxml.jackson.core</groupId>
    51. <artifactId>jackson-databind</artifactId>
    52. <version>2.12.1</version>
    53. </dependency>
    54. <!--文件上传需要的依赖-->
    55. <dependency>
    56. <groupId>commons-fileupload</groupId>
    57. <artifactId>commons-fileupload</artifactId>
    58. <version>1.3.1</version>
    59. </dependency>
    60. <!--MyBatis-->
    61. <dependency>
    62. <groupId>org.mybatis</groupId>
    63. <artifactId>mybatis</artifactId>
    64. <version>3.5.2</version>
    65. </dependency>
    66. <!--mybatis-srping-->
    67. <dependency>
    68. <groupId>org.mybatis</groupId>
    69. <artifactId>mybatis-spring</artifactId>
    70. <version>2.0.2</version>
    71. </dependency>
    72. <!--spring-->
    73. <!-- SpringMVC -->
    74. <dependency>
    75. <groupId>org.springframework</groupId>
    76. <artifactId>spring-webmvc</artifactId>
    77. <version>5.3.1</version>
    78. </dependency>
    79. <dependency>
    80. <groupId>org.springframework</groupId>
    81. <artifactId>spring-jdbc</artifactId>
    82. <version>5.1.9.RELEASE</version>
    83. </dependency>
    84. </dependencies>
    85. <!--静态资源导出-->
    86. <build>
    87. <resources>
    88. <resource>
    89. <directory>src/main/java</directory>
    90. <includes>
    91. <include>**/*.properties</include>
    92. <include>**/*.xml</include>
    93. </includes>
    94. <filtering>false</filtering>
    95. </resource>
    96. <resource>
    97. <directory>src/main/resources</directory>
    98. <includes>
    99. <include>**/*.properties</include>
    100. <include>**/*.xml</include>
    101. </includes>
    102. <filtering>false</filtering>
    103. </resource>
    104. </resources>
    105. </build>
    106. </project>

    3.建各种包和xml文件
    image.png

    applicationContext.xml文件时Spring的配置文件
    image.png

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <beans xmlns="http://www.springframework.org/schema/beans"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    5. </beans>

    mybatis-config.xml是myBatis的配置文件
    image.png

    1. <?xml version="1.0" encoding="UTF-8" ?>
    2. <!DOCTYPE configuration
    3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    4. "http://mybatis.org/dtd/mybatis-3-config.dtd">
    5. <configuration>
    6. </configuration>

    然后点击右上角蓝色的字,将applicationContext.xml添加到。。。
    image.png

    创键jdbc.properties(如果使用mysql8.0以上的版本,则需要加一个时区配置)
    image.png

    1. driver=com.mysql.jdbc.Driver
    2. url=jdbc:mysql://localhost:3306/ssmdemo?useSSL=true&useUnicode=true&characterEncoding=utf8
    3. username=root
    4. password=abc123

    4.创建pojo类
    image.png

    5.创建接口、mapper文件
    image.png
    image.png
    mapper文件

    1. <?xml version="1.0" encoding="UTF-8" ?>
    2. <!DOCTYPE mapper
    3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    5. <mapper>
    6. </mapper>

    6.在mapper文件中写SQL语句
    image.png

    7.在mybatis配置文件中注册mapper文件
    image.png

    ———————————-dao层完成—————————————————-
    接下来是service层

    8.整合Spring-MyBatis
    创建spring-dao.xml文件
    并将此文件添加到之前的上下文文件中
    image.png
    image.png
    spring-dao.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"
           xsi:schemaLocation="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/context/beans/spring-context.xsd">
    
    
        <!--1.关联数据库配置文件-->
        <context:property-placeholder location="classpath:jdbc.properties"/>
    
        <!--2.连接池-->
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <property name="driverClass" value="${driver}"/>
            <property name="jdbcUrl" value="${url}"/>
            <property name="user" value="${username}"/>
            <property name="password" value="${password}"/>
        </bean>
    
        <!--3.sqlSessionFactory-->
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="dataSource" ref="dataSource"/>
            <!--绑定Mybatis配置文件-->
            <property name="configLocation" value="classpath:mybatis-config.xml"/>
        </bean>
    
        <!--4.配置dao接口扫描包,动态的实现了dao接口可以注入到Spring容器中!-->
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <!--注入 sqlSessionFactory-->
            <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
            <!--要扫描的dao包-->
            <property name="basePackage" value="com.keqing.dao"/>
        </bean>
    
    </beans>
    

    9.spring整合service层
    创建spring-service.xml文件(和上一步一样,将此文件添加到ApplicationContext中,关联起来)
    image.pngimage.png

    <?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"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context/spring-context.xsd
            http://www.springframework.org/context/beans/spring-context.xsd">
    
    
        <!--1.扫描service下的包-->
        <context:component-scan base-package="com.keqing.service"/>
    
    
        <!--2.将我们的业务类注入到Spring,可以通过配置或注解实现-->
        <!--配置法-->
        <bean id="BookServiceImpl" class="com.keqing.service.BookServiceImpl">
            <property name="bookMapper" ref="bookMapper"/>
        </bean>
    
    
        <!--3.声明式事务配置-->
        <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <!--注入数据源-->
            <property name="dataSource" ref="dataSource"/>
        </bean>
    
        <!--4.aop事务支持-->
    
    
    
    </beans>
    

    10.给当前module添加web支持
    image.png
    image.png
    配置web.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
    
        <!--注册过滤器-->
        <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>forceResponseEncoding</param-name>
                <param-value>true</param-value>
            </init-param>
        </filter>
        <filter-mapping>
            <filter-name>CharacterEncodingFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    
        <!--注册前端控制器DispatcherServlet-->
        <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:spring-mvc.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup><!--设置前端控制器的启动时间:在服务器启动时-->
        </servlet>
        <servlet-mapping>
            <servlet-name>springMVC</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    
    
    </web-app>
    

    11.创建spring-mvc.xml文件 (视图解析器文件爆红的话,重启idea就行)
    image.png

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
    
        <!--注册过滤器-->
        <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>forceResponseEncoding</param-name>
                <param-value>true</param-value>
            </init-param>
        </filter>
        <filter-mapping>
            <filter-name>CharacterEncodingFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    
        <!--注册前端控制器DispatcherServlet-->
        <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:spring-mvc.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup><!--设置前端控制器的启动时间:在服务器启动时-->
        </servlet>
        <servlet-mapping>
            <servlet-name>springMVC</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    
    
    </web-app>
    

    12.编写控制器Controller

    失败了,气。暂时不弄了2022.1.22