cocobear9  
一枚普通的zisuer(lll¬ω¬),努力每天多学一点点

前言:这两天也算是一个小的终点,花了半个多月学完了SSM,尽管可能并没有学的很深,但是也算是入门了java后端的最基础的部分,下面是自己整合的SSM的一个图书管理的小系统,比较简单的增删改查

一:POM文件的引入:

<?xml version="1.0" encoding="UTF-8"?>
<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>
    <properties>
        <maven.compiler.source>13</maven.compiler.source>
        <maven.compiler.target>13</maven.compiler.target>
    </properties>
    <dependencies>
        <!--spring相关-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.0.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.8.7</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.0.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>5.0.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.0.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.0.5.RELEASE</version>
        </dependency>

        <!--servlet和jsp-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.0</version>
        </dependency>

        <!--mybatis相关-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</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>8.0.13</version>
        </dependency>
        <dependency>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.1.2</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

    </dependencies>

    <groupId>com.itcast</groupId>
    <artifactId>itcast_mybatis_ssm</artifactId>
    <version>1.0-SNAPSHOT</version>


</project>

二:数据库的选型以及创建表和数据,就一张books表简简单单~,在domain下配置好book的实体类

 

 

三:创建好对应的pakedge->配置好tomcat,摁暂时就先创建这样把可能还有utils,拦截器..

 

 

 四:创建Mybits的核心文件sqlMapConfig以及映射文件bookMapper.xml,创建dao的接口BookMapper,导入好头文件,但是还没有写具体的代码

 

 

 五:在BookMapper接口中 书写 增删改查 抽象方法

 

 

 六:,创建spring的核心文件applicationContext.xml ,因为导入了spring-mybatis的依赖,实现Spring整合Mybatis,创建Mybits的核心文件sqlMapConfig以及映射文件bookMapper.xml,导入jdbc.properties和log4j.properties文件,然后完善applicationContext.xml配置文件

------------------------------------------------------------------------------------------------------------------------------------------------

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" xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:aop="http://www.springframework.org/schema/aop"
       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/schema/context/spring-context.xsd
         http://www.springframework.org/schema/tx
          http://www.springframework.org/schema/tx/spring-tx.xsd
          http://www.springframework.org/schema/aop
          http://www.springframework.org/schema/aop/spring-aop.xsd">

    <!--1.dao层的注解包扫描-->
    <context:component-scan base-package="com.mkx.dao"></context:component-scan>

    <!--2.加载jdbc.properties-->
    <context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>

    <!--3.配置数据源信息-->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass"  value="${driverClassName}"></property>
        <property name="jdbcUrl"  value="${url}"></property>
        <property name="user"  value="${jdbc.username}"></property>
        <property name="password"  value="${password}"></property>
    </bean>

    <!--4.配置SqlSessionFactory-->
    <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--底层也是基于jdbc的connection所以需要引入数据源-->
        <property name="dataSource" ref="dataSource"></property>
        <!--(重要)加载Mybatis核心文件-->
        <property name="configLocation" value="classpath:sqlMapConfig.xml"></property>
    </bean>

    <!--5:最重要的一部:扫描mapper所在的包,为mapper创建实现类,并把实现放到Spring容器中-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.mkx.dao"></property>
    </bean>
</beans>

 

mybatis的核心文件sqlMapConfig.xml:这里我不加上<mapper>就会报错。

<?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>

    <typeAliases>
        <typeAlias type="com.mkx.domain.Books" alias="books"></typeAlias>
    </typeAliases>

    <!--导入mapper映射文件-->
    <mappers>
        <mapper resource="com.mkx.mapper\bookMapper.xml"></mapper>
    </mappers>
</configuration>

spring-service.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/schema/context/spring-context.xsd">

    <!--service包的注解扫描-->
    <context:component-scan base-package="com.mkx.service"></context:component-scan>
</beans>

然后是applicationContext.xml配置文件引入spring-service和spring-dao 分工明确

 

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

    <import resource="classpath:spring-dao.xml"></import>
    <import resource="classpath:spring-service.xml"></import>
</beans>

 

映射文件bookMapper.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.mkx.dao.BookMapper">
    <insert id="save" parameterType="books">
        insert into books values(#{id},#{bookName},#{bookCount},#{detail})
    </insert>
    <delete id="deleteById" parameterType="int">
        delete from books where id = #{id}
    </delete>
    <update id="update" parameterType="books">
        update books set  bookName=#{bookName},bookCount=#{bookCount},detail=#{detail} where id=#{id}
    </update>
    <select id="findAll" resultType="books">
        select * from books
    </select>
</mapper>

 

做一个spring整合junit的小测试:至此dao层的功能差不多是成功了

 

import java.util.List;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class test {
    @Autowired
    private BookMapper bookMapper;

    @Test
    public void test(){
        List<Books> booksList = bookMapper.findAll();
        for (Books books : booksList) {
            System.out.println(books);
        }
    }
}
查询结果:是正确的
Books{id=1, bookName='Mysql入门', bookCount='12', detail='入门到删库'}
Books{id=2, bookName='Java基础', bookCount='5000', detail='入门到头秃'}
Books{id=3, bookName='计算机网络', bookCount='2000', detail='详解tcp/ip'}

 下一篇:https://www.cnblogs.com/cocobear9/p/13779035.html

posted on 2020-10-08 16:08  cocobear9  阅读(305)  评论(0)    收藏  举报