前言:这两天也算是一个小的终点,花了半个多月学完了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'}

浙公网安备 33010602011771号