Spring整合MyBatis(含监听器)

来源:互联网 发布:js和javascript的区别 编辑:程序博客网 时间:2024/04/29 20:38

    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.Driverjdbc.url=jdbc:mysql:///bookstokjdbc.user=shajdbc.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中补全相关的信息
  
   

原创粉丝点击