spring与ibatis整合

本文详细介绍如何将Spring框架与Ibatis(MyBatis前身)整合,包括所需配置文件的编写、POJO类的设计及数据库操作的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:导入spring与ibatis需要用的包。
2:新建一个POJO类。例如:
1. package cn.itcast;   
2.     
3.  public class Student {   
4.   private Integer id;   
5.     
6.   private String firstname;   
7.     
8.   private String lastname;   
9.     
10.   public String getFirstname() {   
11.    return firstname;   
12.   }   
13.     
14.   public void setFirstname(String firstname) {   
15.    this.firstname = firstname;   
16.   }   
17.     
18.   public Integer getId() {   
19.    return id;   
20.   }   
21.     
22.   public void setId(Integer id) {   
23.    this.id = id;   
24.   }   
25.     
26.   public String getLastname() {   
27.    return lastname;   
28.   }   
29.     
30.   public void setLastname(String lastname) {   
31.    this.lastname = lastname;   
32.   }   
33.  }  

3:根据这个POJO类写一个sqlmap_student.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="studetnt">
  <select id="select.student" resultClass="cn.itcast.Student" parameterClass="java.lang.Integer">  
    select id,firstname,lastname from student where id=#value#   
  </select> 
  <insert id="insertStudent" parameterClass="cn.itcast.Student">  
   insert into student
   (
    firstname,
  lastname
    )
   values
   (
    #firstname#,
    #lastname#
   )   
  </insert>
</sqlMap>

4:创建一个总的sqlMap-config.xml
里面可以配置很多的属性,以及数据查询时的配置
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sqlMapConfig     
    PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<sqlMapConfig>
 <settings    
     cacheModelsEnabled="true"       
     enhancementEnabled="true"       
     lazyLoadingEnabled="true"       
     errorTracingEnabled="true"       
     maxRequests="128"           
     maxSessions="64"           
     maxTransactions="32"           
     useStatementNamespaces="false"/>
     
   <!-- ================================================================ -->
 <!-- 导入配置资源 ( 数据库模块配置文件) -->
 <!-- ================================================================ -->
 <sqlMap resource="sqlmap-student.xml" />
</sqlMapConfig>

 

5:创建一个有关数据源的properties文件取名为:jdbc.properties
# Properties file

datasource.driverClassName=oracle.jdbc.driver.OracleDriver
datasource.url=jdbc:oracle:thin:@localhost:1521:orcl
datasource.username=omsdata
datasource.password=omsdata_2010

datasource.maxActive=100
datasource.maxIdle=10
datasource.maxWait=120000
datasource.whenExhaustedAction=1
datasource.validationQuery=select 1 from dual
datasource.testOnBorrow=true
datasource.testOnReturn=false


6:配置spring的配置文件applicationContext.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:dwr="http://www.directwebremoting.org/schema/spring-dwr"
 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-2.0.xsd
       http://www.directwebremoting.org/schema/spring-dwr http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd         
   http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">


 <!-- ==================================================== -->
 <!-- 配置多资源文件 -->
 <!-- ==================================================== -->
 <bean id="propertyConfigurer"
  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="locations">
   <list>
    <value>classpath:meyacom.properties</value>
   </list>
  </property>
 </bean>


 
 <!-- ==================================================== -->
 <!-- 配置自动代理事务,拦截系统所有服务方法 -->
 <!-- ==================================================== -->
 <aop:config>
  <aop:advisor
   pointcut="execution(* com.meyacom.core.*.biz.service.*.*(..))"
   advice-ref="txAdvice" />
 </aop:config>
 <tx:advice id="txAdvice">
  <tx:attributes>
   <tx:method name="insert*" />
   <tx:method name="save*" />
   <tx:method name="create*" />
   <tx:method name="add*" />
   <tx:method name="update*" />
   <tx:method name="modify*" />
   <tx:method name="delete*" />
   <tx:method name="remove*" />
   <tx:method name="import*" />
   <tx:method name="export*" />
   <tx:method name="execute*" />
   <tx:method name="*" read-only="true" />
  </tx:attributes>
 </tx:advice>


 <!-- ==================================================== -->
 <!-- 系统数据访问层公共模块配置文件 (包括:增、删、改、查) -->
 <!-- ==================================================== -->
 <bean id="dao" class="com.meyacom.core.common.integration.dao.impl.CMDAOImpl">
  <property name="sqlMapClient" ref="sqlMapClient" />
 </bean>

 <!-- ==================================================== -->
 <!-- 系统服务层公共模块配置文件 (包括:增、删、改、查) -->
 <!-- ==================================================== -->
 <bean id="service"
  class="com.meyacom.core.common.biz.service.impl.CMServiceImpl">
  <property name="dao" ref="dao" />
 </bean>
 
 
 <!-- ==================================================== -->
 <!-- 导入系统配置文件模块配置文件 (包括:增、删、改、查) -->
 <!-- ==================================================== -->
 <import resource="classpath:application-core.xml" />
 <!--这样写的好处是不会将所有的文件统一的放到applicationContext中,而是分开放。增强代码的可读-->
</beans>

第二个spring配置文件为:
application-core.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:dwr="http://www.directwebremoting.org/schema/spring-dwr"
 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-2.0.xsd
       http://www.directwebremoting.org/schema/spring-dwr http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd         
   http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">


 <!-- ==================================================== -->
 <!-- 配置多资源文件 -->
 <!-- ==================================================== -->
 <bean id="propertyConfigurer"
  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="locations">
   <list>
    <value>classpath:meyacom-jdbc.properties</value>
   </list>
  </property>
 </bean>


 <!-- ==================================================== -->
 <!-- 连接数据源的资源配置文件(连接地址、用户、密码、大小等) -->
 <!-- ==================================================== -->
 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  <property name="driverClassName" value="${datasource.driverClassName}"/>
  <property name="url" value="${datasource.url}"/>
  <property name="username" value="${datasource.username}"/>
  <property name="password" value="${datasource.password}"/>
  <property name="maxActive" value="${datasource.maxActive}" />
 </bean>
 <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
  <property name="configLocation">
   <value>classpath:meyacom-sqlmap.xml</value>
  </property>
  <property name="dataSource" ref="dataSource"/>
  <property name="lobHandler" ref="lobHandler" />  
 </bean>
 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  <property name="dataSource" ref="dataSource" />
 </bean>
 <bean id="lobHandler" lazy-init="true"
  class="org.springframework.jdbc.support.lob.DefaultLobHandler" />
 
 
 <!-- ==================================================== -->
 <!-- 系统审查日志公共模块配置文件 (包括:增、删、改、查) -->
 <!-- ==================================================== -->
 <bean id="auditLogger" class="org.apache.log4j.Logger">
  <constructor-arg index="0" value="auditLogger" />
 </bean>

 
 <!-- ==================================================== -->
 <!-- 系统日志输出公共模块配置文件 (包括:增、删、改、查) -->
 <!-- ==================================================== -->
 <bean id="errorLogger" class="org.apache.log4j.Logger">
  <constructor-arg index="0" value="errorLogger" />
 </bean>
 
 
</beans>


7然后写基层的接口,和service,最后调用,基层接口和service我已经放到了spring的配置文件中。可以不用配置了。

内容概要:本文详细探讨了基于MATLAB/SIMULINK的多载波无线通信系统仿真及性能分析,重点研究了以OFDM为代表的多载波技术。文章首先介绍了OFDM的基本原理和系统组成,随后通过仿真平台分析了不同调制方式的抗干扰性能、信道估计算法对系统性能的影响以及同步技术的实现分析。文中提供了详细的MATLAB代码实现,涵盖OFDM系统的基本仿真、信道估计算法比较、同步算法实现和不同调制方式的性能比较。此外,还讨论了信道特征、OFDM关键技术、信道估计、同步技术和系统级仿真架构,并提出了未来的改进方向,如深度学习增强、混合波形设计和硬件加速方案。; 适合人群:具备无线通信基础知识,尤其是对OFDM技术有一定了解的研究人员和技术人员;从事无线通信系统设计开发的工程师;高校通信工程专业的高年级本科生和研究生。; 使用场景及目标:①理解OFDM系统的工作原理及其在多径信道环境下的性能表现;②掌握MATLAB/SIMULINK在无线通信系统仿真中的应用;③评估不同调制方式、信道估计算法和同步算法的优劣;④为实际OFDM系统的设计和优化提供理论依据和技术支持。; 其他说明:本文不仅提供了详细的理论分析,还附带了大量的MATLAB代码示例,便于读者动手实践。建议读者在学习过程中结合代码进行调试和实验,以加深对OFDM技术的理解。此外,文中还涉及了一些最新的研究方向和技术趋势,如AI增强和毫米波通信,为读者提供了更广阔的视野。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值