<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                Spring和MyBatis整合,Spring的作用 1. Mapper接口的實現類交給Spring的IOC容器管理,包括給Service依賴注入Mapper實現類 class MyService { @Autowired Mapper mapper1; } 2. 管理Service層的事務處理。 class MyService { @Autowired mapper mapper1; public void test() { mapper1.aa() mapper2.bb(); } } 配置applicationContext.xml MyBatis交給Spring管理 ~~~ <bean id="ds" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/test"/> <property name="username" value="root" /> <property name="password" value="root" /> </bean> <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 加載mybatis的主配置文件 --> <property name="configLocation" value="classpath:SqlMapConfig.xml"/> <!-- 注入數據源 --> <property name="dataSource" ref="ds" /> </bean> ~~~ Service和Mapper掃描 ~~~ <context:component-scan base-package="com.neuedu.model.service"></context:component-scan> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 指定掃描的包名 如果掃描多個包,每個包中間使用半角逗號分隔 --> <property name="basePackage" value="com.neuedu.model.dao"/> <!-- 自動創建session(connection)去數據庫交互 --> <property name="sqlSessionFactoryBeanName" value="sessionFactory"/> </bean> ~~~ 配置事務管理 ~~~ <!-- 聲明事務管理器 --> <bean id="txm" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="ds"></property> </bean> <!-- 配置事務通知 --> <tx:advice id="txAdvice" transaction-manager="txm"> <!-- 配置事務的傳播特性 --> <!-- 配置事務傳播特性 REQUIRED 支持當前事務,如果當前沒有事務,就新建一個事務。這是最常見的選擇。常用于DML語句的操作 SUPPORTS 支持當前事務,如果當前沒有事務,就以非事務方式執行。 常用于DQL語句的操作 MANDATORY 支持當前事務,如果當前沒有事務,就拋出異常。 REQUIRES_NEW 新建事務,如果當前存在事務,把當前事務掛起。 NOT_SUPPORTED 以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。 NEVER 以非事務方式執行,如果當前存在事務,則拋出異常。 NESTED 如果當前存在事務,則在嵌套事務內執行。如果當前沒有事務,則進行與REQUIRED類似的操作。 --> <!-- 持久層,業務層的方法命名遵循規范 規定: 以save insert update delete為起始名的方法,執行事務 強制執行事務 以find select get validate為起始名的方法,不執行事務 不強制執行事務 規范大于規則:不準起其他的名字 --> <tx:attributes> <tx:method name="save*" propagation="REQUIRED"/> <tx:method name="update*" propagation="REQUIRED"/> <tx:method name="delete*" propagation="REQUIRED"/> <tx:method name="select*" propagation="SUPPORTS" read-only="true"/> </tx:attributes> </tx:advice> <!-- 通過aop切面來控制事務 --> <aop:config> <aop:advisor advice-ref="txAdvice" pointcut="execution(* com.neuedu.model.service.*.*(..))"/> </aop:config> ~~~ 事務管理方法二 ~~~ <!-- 配置事務管理器--> <p:bean id=" txm " class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <p:property name="dataSource" ref="dataSource"></p:property> </p:bean> <!-- 開啟注解事務 --> <tx:annotation-driven transaction-manager=" txm"/> ~~~ 練習: EMP, lizhi 編寫一個Service方法,模擬一個員工離職了。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看