spring mvc整合mybatis 从无到有的

首先看下整个工作目录:

整个框架的目录就是这样

其次 再说下里面的文件

既然是springmvc+mybatis 首先就得添加spring支持 然后再来配置springmvc 涉及第一个就是config.xml 反向生成对应支持

用的是sqlserver数据库 别见怪!!看下里面的配置:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<classPathEntry location="sqljdbc.jar"/>
<context id="MySqlTables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<jdbcConnection driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"
 connectionURL="jdbc:sqlserver://127.0.0.1:1433;databaseName=数据库名" password="密码" userId="用户">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<javaModelGenerator targetPackage="com.scce.entity" targetProject="../">
<property name="enableSubpackage" value="false"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>

<sqlMapGenerator targetPackage="com.scce.dao" targetProject="../">
<property name="enableSubpackages" value="true"/>
</sqlMapGenerator>
<javaClientGenerator targetPackage="com.scce.dao" type="XMLMAPPER" targetProject="../">
<property name="enableSubpackages" value="true"/>
</javaClientGenerator>
<table tableName="person" domainObjectName="Person"></table>
</context>
</generatorConfiguration>

具体属性的ji解释 就自己下点功夫 好好复习下

配置好后 进入到项目 该配置文件存在的文件 使用命令“java -jar mybatis-generator-core-1.3.2.jar -configfile config.xml -overwrite”即可生成对应实体和mapper文件(就是数据库交互文件 相当于Basedao)

我们要这个配置文件 还不行 要加入mybati 还得要两文件:

先看一个bi比较简单的文件sqlmapconfig(别问我是用来干什么 )

<?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>
<mappers>
<mapper resource="com/scce/dao/PersonMapper.xml"></mapper>
</mappers>
</configuration>

第二个xml文件 是一个  一不注意就来姨妈的文件 也是一个必须的文件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:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context" 
xmlns:aop="http://www.springframework.org/schema/aop" 
xmlns:tx="http://www.springframework.org/schema/tx" 
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/aop  
http://www.springframework.org/schema/aop/spring-aop.xsd 
http://www.springframework.org/schema/tx 
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/mvc 
http://www.springframework.org/schema/mvc/spring-mvc.xsd  ">
       <mvc:annotation-driven/>
       <!-- <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
       </bean>
        -->
       <bean id="datasorce" class="org.apache.commons.dbcp.BasicDataSource">
       <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"></property>
       <property name="url" value="jdbc:sqlserver://192.168.18.130:1433;databaseName=login"></property>
       <property name="username" value="sa"></property>
       <property name="password" value="123456"></property>
       </bean>
       
       <bean id="sessionsqlFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
       <property name="configLocation" value="classpath:sqlMapConfig.xml"></property>
       <property name="dataSource" ref="datasorce"></property>
       <property name="typeHandlersPackage" value="com.scce.util.DateTypeTranf"></property>     
       
       </bean>
       <!--注入mapper  -->
       <bean id="personMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
       <property name="mapperInterface" value="com.scce.dao.PersonMapper"></property>
       <property name="sqlSessionFactory"  ref="sessionsqlFactory"></property>
       </bean>

       <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
       <property name="sqlSessionFactoryBeanName" value="sessionsqlFactory"></property>
       <property name="basePackage" value="com.scce.dao.PersonMapper"></property>
       </bean>
        <context:component-scan base-package="com.scce.action"></context:component-scan>
       <context:component-scan base-package="com.scce.Service"></context:component-scan>
       <!--spring申请式事物-->
 <!--    <bean  id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
       <property name="sessionFactory" ref="sessionsqlFactory"></property>      
   </bean> -->
     
 <!--     <tx:annotation-driven transaction-manager="transactionManager"/>   -->
 <!-- 当我们添加这一段代码的时候,需要去到我们的service,给我们的ServiceImpl添加注解@Transaction:  即@Transactional(readOnly=true) 中间未@service @Scope("prototype")-->
     <!-- 
    配置事务增强处理,指定事务管理器 
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="add*" propagation="REQUIRED" />
            <tx:method name="del*" propagation="REQUIRED" />
            <tx:method name="mod*" propagation="REQUIRED" />
            必须要配置开启事务,不然getCurrentSession()会获取不到
            <tx:method name="*" propagation="REQUIRED" read-only="true" />
        </tx:attributes>
    </tx:advice>
    <aop:config>
        配置一个切入点,匹配fruit.dao下所有类执行的方法
        <aop:pointcut id="interceptorPointCuts" expression="execution(* fruit.dao.*.*(..))" />
        指定在poincut切入点应用txAdvice事务增强处理
        <aop:advisor advice-ref="txAdvice" pointcut-ref="interceptorPointCuts" />
    </aop:config>  -->
      </beans>

里面的属性 也需要自行进行学习 ,里面所需要的jar包 且记放入lib文件下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小赖同学啊

跟着大师走,路不会太差

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值