JPetstore这个例子,可以下载下来看看,就有采用ibatis的,不过这个有点复杂

解决方案 »

  1.   

    ibatis很简单的啊。
    一般半天就ok了~:)
      

  2.   

    半天足够写好SQL-MAP映射文件、作好JAVABEAN类,配置一下数据库参数就OK
      

  3.   

    举个大概的例子import com.ibatis.sqlmap.client.*;
    import java.io.Reader;
    import com.ibatis.common.resources.Resources;
    import org.apache.log4j.Logger;public class SqlMap{
      private static Logger logger = Logger.getLogger(SqlMap.class);
      private static final SqlMapClient smc;  static{
        try{
          String resource="sql-map-config.xml";
          Reader reader = Resources.getResourceAsReader(resource);
          smc = SqlMapClientBuilder.buildSqlMapClient(reader);
          logger.info("Ibatis初始化成功");
        }catch(Exception e){
          logger.error("Ibatis初始化发生严重错误,原因:"+e.toString());
          throw new RuntimeException("Error initializing SqlMap class. Cause: "+e);
        }
      }  public static SqlMapClient getSqlMapInstance(){
        return smc;
      }
    }下面是sql-map-config.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE sqlMapConfig
    PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
    "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
    <sqlMapConfig>
    <settings
    cacheModelsEnabled="true"
    enhancementEnabled="true"
    lazyLoadingEnabled="true"
    errorTracingEnabled="false"
    maxRequests="512"
    maxSessions="128"
    maxTransactions="32"
    useStatementNamespaces="true"
    />
    <transactionManager type="JDBC">
      <dataSource type="SIMPLE">
        <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
        <property name="JDBC.ConnectionURL" value="jdbc:mysql://127.0.0.1:3306/xiqibao-erp?useUnicode=true&amp;characterEncoding=UTF-8"/>
        <property name="JDBC.Username" value="root"/>
        <property name="JDBC.Password" value="windows"/>
      </dataSource>
    </transactionManager>
    <sqlMap resource="sql-map.xml"/>
    </sqlMapConfig>下面是sql-map.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="base"><typeAlias alias="EMPLOYEE_TAB" type="com.xiqibao.erp.model.EMPLOYEE_TAB"/>
    <typeAlias alias="Integer" type="java.lang.Integer"/><select id="selectEMPLOYEE_TAB" parameterClass="EMPLOYEE_TAB" resultClass="EMPLOYEE_TAB">
    SELECT EMPID,EMPNUM,DEPID,EMPNAME,EMPCLASS,SEX
    ,MARRIAGE,DATE_FORMAT(BIRTHDAY,'%Y-%m-%d') AS BIRTHDAY,FOLK,POLITY,IDCARD
    ,RESIDENCE,PLACE,SOCIALID,ADDRESS,PHONE
    ,ZIPCODE,DEGREE,SPECIALTY,SCHOOL,HEADSHIP
    ,TITLE,POLEVEL,COMPUTER,LANGUAGE,LANGUAGELEVEL
    ,DATE_FORMAT(BEGWORKDATE,'%Y-%m-%d') AS BEGWORKDATE,WORKTYPE,WORKSTAT,EMPDESC,DATE_FORMAT(ENDWORKDATE,'%Y-%m-%d') AS ENDWORKDATE
    ,EMPTYPE,DATE_FORMAT(FIRSTBIRGAINDATE,'%Y-%m-%d') AS FIRSTBIRGAINDATE,DATE_FORMAT(BIRGAINDATE,'%Y-%m-%d') AS BIRGAINDATE,DATE_FORMAT(BIRGAINENDDATE,'%Y-%m-%d') AS BIRGAINENDDATE,POSTID
    ,SCORE,EMPBANK,EMPBANKCODE,PICTURE,LOGINNAME
    ,PASSWORD,ISOPEN,DATE_FORMAT(OPENDATE,'%Y-%m-%d') AS OPENDATE,RIGHTLIST,ISDEL,DATE_FORMAT(CREATEDTIME,'%Y-%m-%d %H:%i:%S') AS CREATEDTIME
    ,NOTE FROM T_EMPLOYEE
    <dynamic prepend="WHERE">
      <isNotEmpty prepend="AND" property="EMPID"> EMPID = #EMPID# </isNotEmpty>
      <isNotEmpty prepend="AND" property="DEPID"> DEPID = #DEPID# </isNotEmpty>
      <isNotEmpty prepend="AND" property="EMPNUM"> EMPNUM = #EMPNUM# </isNotEmpty>
      <isNotEmpty prepend="AND" property="LOGINNAME"> LOGINNAME = #LOGINNAME# </isNotEmpty>
      <isNotEmpty prepend="AND" property="PASSWORD"> PASSWORD = #PASSWORD# </isNotEmpty>
      <isNotEmpty prepend="AND" property="ISOPEN"> ISOPEN = #ISOPEN# </isNotEmpty>
      <isNotEmpty prepend="AND" property="EMPCLASS"> EMPCLASS = #EMPCLASS# </isNotEmpty>
      <isNotEmpty prepend="AND" property="SEX"> SEX = #SEX# </isNotEmpty>
      <isNotEmpty prepend="AND" property="IDCARD"> IDCARD = #IDCARD# </isNotEmpty>
      <isNotEmpty prepend="AND" property="PLACE"> PLACE = #PLACE# </isNotEmpty>
      <isNotEmpty prepend="AND" property="DEGREE"> DEGREE = #DEGREE# </isNotEmpty>
      <isNotEmpty prepend="AND" property="EMPNAME"> EMPNAME LIKE '%$EMPNAME$%' </isNotEmpty>
      <isNotEmpty prepend="AND" property="ISDEL"> ISDEL = #ISDEL# </isNotEmpty>
    </dynamic>
    </select><select id="countEMPLOYEE_TAB" parameterClass="EMPLOYEE_TAB" resultClass="Integer">
    SELECT count(*) AS COUNT FROM T_EMPLOYEE
    <dynamic prepend="WHERE">
      <isNotEmpty prepend="AND" property="EMPID"> EMPID = #EMPID# </isNotEmpty>
      <isNotEmpty prepend="AND" property="DEPID"> DEPID = #DEPID# </isNotEmpty>
      <isNotEmpty prepend="AND" property="LOGINNAME"> LOGINNAME = #LOGINNAME# </isNotEmpty>
      <isNotEmpty prepend="AND" property="PASSWORD"> PASSWORD = #PASSWORD# </isNotEmpty>
      <isNotEmpty prepend="AND" property="ISOPEN"> ISOPEN = #ISOPEN# </isNotEmpty>
      <isNotEmpty prepend="AND" property="EMPCLASS"> EMPCLASS = #EMPCLASS# </isNotEmpty>
      <isNotEmpty prepend="AND" property="ISDEL"> ISDEL = #ISDEL# </isNotEmpty>
    </dynamic>
    </select></sqlMap>
      

  4.   

    ibatis是简单。但是昨天我想操作oracle中的CLOB大类型就不行了。只能插入。但提取不出来。。ibatis怎么搞的。不是说是成熟的框架吗?怎么不能提取出来CLOB类型。。