为了变更方便,将sql语句写在xml文件中,在网上看了相关材料,但还是有不太懂的地方
1.xml的格式
<?xml version="1.0" encoding="UTF-8"?>
<sqlList>
<sql sqlId="..."><![CDATA[  
]]>
</sql>
</sqlList>
这样就可以配置一个sql的xml么?为什么在<sqlList></sqlList>中有<sql>的提示  但是有个黄色感叹号说没有相关语法,我直接写后面会报错么?
2.在spring管理sql语句的时候,spring是如何管理的呢,直接用Digester或者Dom4j不就可以直接解析么,如果让spring管理怎么配置<bean><bean>呢,怎么告诉spring sql.xml位置呢?

解决方案 »

  1.   

    1.第一个问题。要有例如ibatis的框架才支持你这种将sql放在xml中的方式。
    2.还是框架的问题。其实真没必要知道。如果你要知道,你要去看这些框架的源码。麻烦的事情。初学者没必要,浪费时间也看不懂,真的。
      

  2.   

    第一个问题,你可以搜索一下夏昕的 《ibatis使用指南》。 很适合新手。而且还是免费的。 看完以后,就拿官方文档看好了。第二个问题,涉及到spring和ibatis两个框架的集成,请看我的博客
      

  3.   

    为什么要有框架才行呢?这我不太懂,你看假如写在xml中,用Digester解析出来sql语句,如果是jdbc的话 就用jdbc模板写进数据库啊 不明白和ibatis有什么关系
      

  4.   

    我不是很相同ibatis因为是很小的项目,所以想直接用jdbc
      

  5.   

    用框架是因为人家已经写好并开源了,方便你快速开发,不用你自己在去实现ibatis的功能了
    ps:既然很小的项目你不想用框架,何必要配置sql的xml呢,直接java中写jdbc呗。
      

  6.   

    ibatis  在spring 中 的配置 
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName">
      <value>oracle.jdbc.driver.OracleDriver</value>
    </property>
    <property name="maxActive">
    <value>10</value>
    </property>
    <property name="username">
    <value>username</value>
    </property>
    <property name="password">
    <value>password</value>
    </property>
    <property name="url">
    <value>jdbc:oracle:thin:@localhost:1521:prj</value>
    </property>
    </bean>

    <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
         <property name="configLocation">
    <value>classpath:ibatis_conf.xml</value>
    </property>
    <property name="dataSource" ref="dataSource"></property>
        </bean>
        
        <bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate">
         <property name="sqlMapClient" ref="sqlMapClient"/>
        </bean>
        
        
        <bean id="Dao" class="com.dao.impl.DepartmentDAOImpl">
         <property name="sqlMapClientTemplate" ref="sqlMapClientTemplate"></property>
        </bean>
      

  7.   


    ibatis就是这样的啊,就是怕改需求所以sql写在xml文件里啊。如果楼主是不会用ibatis的话,不要担心,它的学习曲线很平滑的,我可能就是看了30分钟,基本的单表crud就学会啦。再说了,ibatis很小很秀气的,对你的小项目正合适。