我看到别人用STRUTS+IBATIS设计的源程序
源文件中目录如下
有个IFACE包(全是IFACE接口)
有个COMMON包
有个DOMAIN包
有个DAO包(继承IFACE的DAO)
有个CONF包(全是XML配制文件,包括一个SQLMAPCONFIG.XML文件)
-->  <!-- List the SQL Map XML files. They can be loaded from the 
       classpath, as they are here (com.domain.data...) -->
  <sqlMap resource="com/conf/User.xml"/>
  <sqlMap resource="com/conf/PlayType.xml"/>
  <sqlMap resource="com/conf/lampMessage.xml"/>
  <sqlMap resource="com/conf/animalNumber.xml"/>
  <sqlMap resource="com/conf/waring.xml"/>  <!-- 
   <sqlMap resource="com/portal/dbmgt/dao/conf/McapUserType.xml"/>
  -->
</sqlMapConfig>
请问这是用插件自动生成的而我自己用那个什么ABATOR插件,看网上视频做的 根本没这些东西
只有一个DAO、DAOIMPL而且每个表独自生成一个SQLMAPCONFIG.XML文件而别人代码里确是一个文件包含了所有表的配制(如上代码) ,而且没用到SPRING 和HIBERNATE请大家说道说道,实在是不懂JAVA 以前是MS系的,跟大家请教了

解决方案 »

  1.   

    这些是手写的。
    "<sqlMap resource="com/conf/animalNumber.xml"/>" 是引用animalNumber.xml文件。
    在animalNumber.xml文件中写sql语句,和数据库交互,并返回结果。
      

  2.   

    使用了IBATIS就没有必要使用HIBERNATE了。
    你可以到url=http://ibatis.apache.org/]IBATIS[/url]下一些资料研究
      

  3.   

    使用了IBATIS就没有必要使用HIBERNATE了。 
    你可以到IBATIS下一些资料研究
      

  4.   

    用ibatis的好处就是SQL语句 还有hibernate做啥呀
      

  5.   

    大家误会我的意思了,或者是我没说明白
    我再问简单一点
    那个SqlMapConfig.xml文件 是手动编写的吗
    还是通过设置,Myeclipse可以自动生成?

    如下:PlayType.xml:
    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE sqlMap      
        PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"      
        "http://ibatis.apache.org/dtd/sql-map-2.dtd"><sqlMap namespace="PlayType">  <!-- Use type aliases to avoid typing the full classname every time. -->
      <typeAlias alias="PlayType" type="com.boss.ton.dao.domain.PlayType"/>
      <typeAlias alias="PlayTypeForm" type="com.boss.ton.app.playtype.PlayTypeForm"/>
      <!-- 
      ** code property */
    private String code; /** maxCompensatePrortion property */
    private Float maxCompensatePrortion; /** minTimeInterval property */
    private Float minTimeInterval;     private Long minNumber;
         
    /** boardType property */
    private String boardType; /** name property */
    private String name; /** maxMoneyAmount property */
    private Long maxMoneyAmount;

       -->
     <!-- 以下是SQLMap -->
      <resultMap id="PlayTypeResult" class="PlayTypeForm">
        <result property="code" column="code"/>
        <result property="maxCompensatePrortion" column="maxCompensatePrortion"/>
        <result property="boardType" column="boardType"/>
        <result property="minTimeInterval" column="minTimeInterval"/>
        <result property="minNumber" column="minNumber"/>
        <result property="name" column="name"/>
    <result property="maxMoneyAmount" column="maxMoneyAmount"/>
      </resultMap>
      
        <select id="selectAllPlayType" parameterClass="PlayType"  resultMap="PlayTypeResult">
        select * from playtype order by orders
        </select>
        
      <update id="updatePlayType" parameterClass="PlayType">
      update playtype set
      maxCompensatePrortion =#maxCompensatePrortion#,
      minTimeInterval= #minTimeInterval#,
      minNumber= #minNumber#,
      maxMoneyAmount= #maxMoneyAmount#
      where code=#code#
      </update>
      </sqlMap>PlayTypeDAO.JAVApackage com.boss.ton.dao;import java.sql.SQLException;
    import java.util.List;import com.boss.ton.dao.domain.PlayType;
    import com.boss.ton.iface.PlayTypeIface;public class PlayTypeDao extends SqlMapMgt implements PlayTypeIface { public List initPlayType() throws SQLException {
    // TODO Auto-generated method stub
    return sqlMapper.queryForList("selectAllPlayType");
    } public Integer canDelete(String id) throws SQLException {
    // TODO Auto-generated method stub
    return null;
    } public int updatePlayType(PlayType playType) throws SQLException {

    return sqlMapper.update("updatePlayType",playType);

    }}

    PlayTpe.java/*
     * Generated by MyEclipse Struts
     * Template path: templates/java/JavaClass.vtl
     */
    package com.boss.ton.dao.domain;import javax.servlet.http.HttpServletRequest;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;/** 
     * MyEclipse Struts
     * Creation date: 04-12-2008
     * 
     * XDoclet definition:
     * @struts.form name="playTypeForm"
     */
    public class PlayType extends ActionForm {
    /*
     * Generated fields
     */ /** code property */
    private String code; /** maxCompensatePrortion property */
    private Float maxCompensatePrortion; /** minTimeInterval property */
    private Float minTimeInterval;

    private Long minNumber; /** boardType property */
    private String boardType; /** name property */
    private String name; /** maxMoneyAmount property */
    private Long maxMoneyAmount; /*
     * Generated Methods
     */ /** 
     * Method validate
     * @param mapping
     * @param request
     * @return ActionErrors
     */
    public ActionErrors validate(ActionMapping mapping,
    HttpServletRequest request) {
    // TODO Auto-generated method stub
    return null;
    } /** 
     * Method reset
     * @param mapping
     * @param request
     */
    public void reset(ActionMapping mapping, HttpServletRequest request) {
    // TODO Auto-generated method stub
    } /** 
     * Returns the code.
     * @return String
     */
    public String getCode() {
    return code;
    } /** 
     * Set the code.
     * @param code The code to set
     */
    public void setCode(String code) {
    this.code = code;
    } /** 
     * Returns the maxCompensatePrortion.
     * @return Float
     */
    public Float getMaxCompensatePrortion() {
    return maxCompensatePrortion;
    } /** 
     * Set the maxCompensatePrortion.
     * @param maxCompensatePrortion The maxCompensatePrortion to set
     */
    public void setMaxCompensatePrortion(Float maxCompensatePrortion) {
    this.maxCompensatePrortion = maxCompensatePrortion;
    } /** 
     * Returns the minTimeInterval.
     * @return Float
     */
    public Float getMinTimeInterval() {
    return minTimeInterval;
    } /** 
     * Set the minTimeInterval.
     * @param minTimeInterval The minTimeInterval to set
     */
    public void setMinTimeInterval(Float minTimeInterval) {
    this.minTimeInterval = minTimeInterval;
    } /** 
     * Returns the boardType.
     * @return String
     */
    public String getBoardType() {
    return boardType;
    } /** 
     * Set the boardType.
     * @param boardType The boardType to set
     */
    public void setBoardType(String boardType) {
    this.boardType = boardType;
    } /** 
     * Returns the name.
     * @return String
     */
    public String getName() {
    return name;
    } /** 
     * Set the name.
     * @param name The name to set
     */
    public void setName(String name) {
    this.name = name;
    } /** 
     * Returns the maxMoneyAmount.
     * @return Long
     */
    public Long getMaxMoneyAmount() {
    return maxMoneyAmount;
    } /** 
     * Set the maxMoneyAmount.
     * @param maxMoneyAmount The maxMoneyAmount to set
     */
    public void setMaxMoneyAmount(Long maxMoneyAmount) {
    this.maxMoneyAmount = maxMoneyAmount;
    } public Long getMinNumber() {
    return minNumber;
    } public void setMinNumber(Long minNumber) {
    this.minNumber = minNumber;
    }
    }PlayTypeIfac.javapackage com.boss.ton.iface;import java.sql.SQLException;
    import java.util.HashMap;
    import java.util.List;import com.boss.ton.app.user.UserForm;
    import com.boss.ton.dao.domain.BaseDomain;
    import com.boss.ton.dao.domain.PlayType;
    import com.boss.ton.dao.domain.User;
    public interface PlayTypeIface   extends BaseIface{
    public List initPlayType() throws SQLException;
    public int updatePlayType(PlayType playType) throws SQLException;
    }
    以上这么多的文件不可能全部由手编写吧我想应该是自动生成所有文件 ,然后我们在修改和添加一些有用的代码.如果我想的没错的话?请问怎样才能让MYECLIPSE自动生成这些代码呢?
      

  6.   

    PlayType.xml
    PlayTypeDAO.JAVA 
    PlayTpe.java 
    PlayTypeIfac.java 每个表都要能生成这些文件,最后还有
    <!-- List the SQL Map XML files. They can be loaded from the  
           classpath, as they are here (com.domain.data...) --> 
       <sqlMap resource="com/conf/User.xml"/> 
       <sqlMap resource="com/conf/PlayType.xml"/> 
       <sqlMap resource="com/conf/lampMessage.xml"/> 
       <sqlMap resource="com/conf/animalNumber.xml"/> 
       <sqlMap resource="com/conf/waring.xml"/>    <!--  
        <sqlMap resource="com/portal/dbmgt/dao/conf/McapUserType.xml"/> 
      --> 
    </sqlMapConfig> 
    一个包含这些的该如何同时MYECLIPSE做成这样啊,我在网上找的视频 根本没这些,又没人问,大家会的估计看一下就明白了吧,我是菜鸟 没办法,请大家不要笑话
      

  7.   

    ibatis的xml一般都是自己手写的,也有一些高手自己写了一些简单映射bean和xml 的文件,不过还是自己写比较稳妥
    ibatis的好处在于自己写SQL,比较好操作
    ibatis  myeclipse好象没有自动加载的插件,方正我是没用过,都是自己手写的,
    复制,粘贴就好了
      

  8.   

    ibatis的xml自己写比较爽,想要什么样的sql就怎么写。不一定要一个表对应一个xml。可以是一种业务对应一个xml
      

  9.   

    正在用IBATIS做项目,DAO,XML,全部手写~~
      

  10.   

    ibatis的xml一般都是自己手写的,也有一些高手自己写了一些简单映射bean和xml 的文件,不过还是自己写比较稳妥 
    ibatis的好处在于自己写SQL,比较好操作 
    ibatis  myeclipse好象没有自动加载的插件,方正我是没用过,都是自己手写的, 
    复制,粘贴就好了