• ibatis和spring整合


    以前写在百度空间的,搬楼了

    -------------------------分割线----------------------------

     

    研究了下,网上资料也不少,看来ORM的ibatis还是很多人热衷的。

    因为ibatis是作为数据访问的,必然有自己的数据源,我们使用spring中的数据源来代替ibatis的,删除ibatis中数据源相关datasource部分,在spring配置文件中添加以下代码:

     

    代码
    <bean id="dataSource"
    class
    ="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${driver}" />
    <property name="url" value="${url}" />
    <property name="username" value="${username}" />
    <property name="password" value="${password}" />
    </bean>

    可以作为datasource的类有好多个,选择一个

    spring的Datasource解释:

    http://envoydada.javaeye.com/blog/95166

    同样在spring中使用配置文件properties:

     

    代码
    <bean id="propertyManager" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
    <list>
    <value>classpath:SqlMapConfigExample.properties</value>
    </list>
    </property>
    </bean>

    这个方法我也觉得很神奇-。-!

    建立DAO类,继承org.springframework.orm.ibatis.support.SqlMapClientDaoSupport

    其中的方法使用getSqlMapClientTemplate()来进行数据库操作

    例如:

     

    java代码
    public Student selectByPrimaryKey(String sno) {
    Student key
    = new Student();
    key.setSno(sno);
    Student record
    = (Student) getSqlMapClientTemplate().queryForObject("selectByPrimaryKey", key);
    return record;
    }

    这个类需要spring注入2个属性sqlmapclient和datasource

    sqlmapclient就是需要你的ibatis的配置文件,参数等等

    datasource就是刚才spring配置的那个bean

    不过sqlmapclient没有一个类可以直接提供。。。所以使用SqlMapClientFactoryBean工厂类来生成一个sqlmapclient(spring中的bean就是这样越来越多的……怪不得配置越来越麻烦),例如:

     

    代码
    <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
    <property name="configLocation" value="classpath:sql-map-config.xml" />
    <property name="dataSource" ref="dataSource" />
    </bean>

    这样就搞定sqlmapclient和datasource了

    dao的bean配置:

     

    <!-- dao -->
    <bean id="studentDao" class="dal.StudentDAOImpl">
    <property name="dataSource" ref="dataSource" />
    <property name="sqlMapClient" ref="sqlMapClient" />
    </bean>

    剩下就接下去配置spring的事务管理什么的,不写了。。。

  • 相关阅读:
    关于在Websphere下程序找不到jar包内.properties文件的问题
    MysqL的root用户不允许远程连接
    ajax提交表单数据到controller
    js表单验证
    jq删除标签中的元素
    点击超链接触发js事件
    spring的特点
    mysql每个jar包的作用
    抽象工厂举例
    简单的省市联动
  • 原文地址:https://www.cnblogs.com/xiziyin/p/1664882.html
Copyright © 2020-2023  润新知