我看到别人用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系的,跟大家请教了
源文件中目录如下
有个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系的,跟大家请教了
"<sqlMap resource="com/conf/animalNumber.xml"/>" 是引用animalNumber.xml文件。
在animalNumber.xml文件中写sql语句,和数据库交互,并返回结果。
你可以到url=http://ibatis.apache.org/]IBATIS[/url]下一些资料研究
你可以到IBATIS下一些资料研究
我再问简单一点
那个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自动生成这些代码呢?
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做成这样啊,我在网上找的视频 根本没这些,又没人问,大家会的估计看一下就明白了吧,我是菜鸟 没办法,请大家不要笑话
ibatis的好处在于自己写SQL,比较好操作
ibatis myeclipse好象没有自动加载的插件,方正我是没用过,都是自己手写的,
复制,粘贴就好了
ibatis的好处在于自己写SQL,比较好操作
ibatis myeclipse好象没有自动加载的插件,方正我是没用过,都是自己手写的,
复制,粘贴就好了