Spring整合MyBatis(含监听器)

    Spring整合MyBatis首先要下载一个jar包:

<!--Spring整合javaweb-->

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.3.9.RELEASE</version>
        </dependency>

<!--MyBatis-Spring-->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.2.0</version>
</dependency>

<!--mybatis核心jar包-->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.2.2</version>
</dependency>

<!-- mysql配置-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.31</version>
</dependency>

先建一个文件,在该文件中创建实体类eitity层,dao层,servic层,servlet层

首先在entity层中,创建一个Book实体类,并写上该类的属性值,将其进行get,set封装

public class Book {
    private Integer bookId;
    private String bookName;
    private int bookPrice;
之后就在dao层中创建一个BookDao接口,在该接口中写上一个实现方法。

   public interfaceBookDao {

           //添加

    public  int  add(Book book);
}
然后就该配置小配置BookDao.xml,当然也是在dao层,在这里需要注意的是接口名与小配置的名一致
<?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="cn.happy.SpringSSM.dao.BookDao">
    <insert id="add">    //id是指接口中的实现方法名
        insert into book(bookname,bookprice) values(#{bookName},#{bookPrice})
    </insert>
</mapper>
接下来就到了service层了,在该层中也需要创建一个接口,该接口内中也要写上一个实现方法,该方法和dao层中的方法一致。
public interface BookService {
    public  int add(Book book);
}
接口写完之后,我们也需要在该层中写上一个BookServiceImpl类,在该类中实现BookService接口中的方法,并植入BookDao,将其进行封装
public class BookServiceImpl implements BookService {
      BookDao dao;

    public BookDao getDao() {
        return dao;
    }

    public void setDao(BookDao dao) {
        this.dao = dao;
    }

    public int add(Book book) {
        return dao.add(book);
    }
}
要想在页面中显示出来效果,重要的就靠servlet层中的了,当然在创建Servlet的时候一定要引包噢
<!--javaee的jar包-->
<dependency>
    <groupId>javaee</groupId>
    <artifactId>javaee-api</artifactId>
    <version>5</version>
</dependency>

<!--jsp进行循环迭代数据,使用jstl-->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
    <scope>runtime</scope>
</dependency>

  接下来就到了很重要的环节了,配置阶段,在配置的时候会需要很多jar包,首先我们要先下载需要的jar包,将其放在pom.xml中   
<!--beans-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>4.2.3.RELEASE</version>
</dependency>
<!--context-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.2.2.RELEASE</version>
</dependency>
<!--AOP-->
<dependency>
    <groupId> org.aspectj</groupId >
    <artifactId> aspectjweaver</artifactId >
    <version> 1.8.7</version >
</dependency>    
<!--spring jdbc-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>3.2.13.RELEASE</version>
</dependency>
<!--spring tx-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>3.2.13.RELEASE</version>
</dependency>
<!--jdbc数据源  commons dbcp-->
<dependency>
    <groupId>commons-dbcp</groupId>
    <artifactId>commons-dbcp</artifactId>
    <version>1.3</version>
</dependency>
<!--c3p0-->
    <!-- https://mvnrepository.com/artifact/c3p0/c3p0 -->
    <dependency>
        <groupId>c3p0</groupId>
        <artifactId>c3p0</artifactId>
        <version>0.9.1.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.0.29</version>
    </dependency>
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>

    <!--类型别名-->
    <typeAliases>
        <package name="cn.happy.SpringSSM.entity"></package>
    </typeAliases>

</configuration>
jdbc.properties
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///bookstok
jdbc.user=sha
jdbc.password=sha
applicationContextSpringSSM.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       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:p="http://www.springframework.org/schema/p"
       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

        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.识别jdbc。properties-->
    <context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>
    <!--2.dbcp数据源-->
  <!--  <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
        <property name="url" value="jdbc:mysql:///bookstok"></property>
        <property name="username" value="sha"></property>
        <property name="password" value="sha"></property>
    </bean>-->

    <!--创建数据源 Spring-->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
        <property name="driverClassName" value="${jdbc.driverClassName}"></property>
        <property name="url" value="${jdbc.url}"></property>
        <property name="username" value="${jdbc.user}" ></property>
        <property name="password" value="${jdbc.password}" ></property>
    </bean>
    <!--3.配置SqlSessionFactoryBean-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--引用数据源组件-->
        <property name="dataSource" ref="dataSource"></property>
        <!--引用mybatis配置文件中的配置-->
        <property name="configLocation" value="classpath:MyBatis-config.xml"></property>
    </bean>
<!--4.dao 实现类,映射文件的扫描可以动态的在内存中构建接口的实现类,代理对象-->
  <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="cn.happy.SpringSSM.dao"></property>
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
</bean>
        <!--5.service-->
    <bean id="bookservice" class="cn.happy.SpringSSM.service.BookServiceImpl">
        <property name="dao" ref="bookDao"></property>
    </bean>

    <!--06.事务管理器-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
<!--
    &lt;!&ndash; 07.AspectJ AOP 配置事务 &ndash;&gt;
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="buy*" isolation="DEFAULT" propagation="REQUIRED" rollback-for="StockException"/>
        </tx:attributes>
    </tx:advice>-->

    <!--<aop:config>
        &lt;!&ndash;配置了切点Pointcut&ndash;&gt;
        <aop:pointcut id="mypoint" expression="execution(* *..service.*.*(..))"/>
        &lt;!&ndash;顾问&ndash;&gt;
        <aop:advisor advice-ref="txAdvice" pointcut-ref="mypoint"></aop:advisor>
    </aop:config>
-->
</beans>
在创建一个bookadd.jsp页面

  切记不要忘了在web.xml中补全相关的信息
  
   


版权声明:本文为qq_36074150原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。