easyui 1.5+spring 4.2+mybatis 3.4 Web示例(四) 单表操作之DAO生成

本文通过日志记录表实例展示了如何使用MyBatisGenerator自动生成DAO层代码,并进行了必要的修改以适应具体应用需求。

完成项目架构后,我们来做一张简单的单表操作示例。

我选择了一个日志记录表来演示。


表结构很简单,logid就是主键编号,我打算用序列来完成。operatorid和code都是用户的信息。

这里有个比较好用的工具,可以自动实现dao层代码。这个工具就是MyBatis Generator。在我的那个eclipse中有这个插件。

这里有单独的插件链接:http://download.youkuaiyun.com/download/rickhunterchen/10243840

装好这个插件,把generatorConfig.xml直接拷贝到项目的根目录下。

配置内容不多

这里是驱动包的位置

这里是jdbc连接配置

这里包要先建好,开始我没有com.model,所以也需要先建好包结构,还有注意targetProject,是项目名称,这里应该改为WebDemo

这里就是注意表空间和表名

配置好后,就可以生成DAO了。

右击generatorConfig.xml,选择“Generate Mybatis/iBATIS Artifacts”。



完成后,生成如下文件。

Dao的基本操作(添删改查)就生成完了。

接下来,做些适当的修改。

SysLog这个pojo类生成时,将oracle的number类型对应生成了BigDecimal类型。我将它全部改为int类型。

在接口文件中增加一个接口:List<SysLog> selectAll(Map map);这个接口主要是为页面查询所有数据使用,传入参数用map是为了查询条件使用。

在xml文件中实现这个接口:

<select id="selectAll" resultMap="BaseResultMap" parameterType="java.util.Map" >
    select
    <include refid="Base_Column_List" />
    from SYS_LOG
  </select>

对xml文件中的insertSelective实现进行修改:

 

<insert id="insertSelective" parameterType="com.model.SysLog">
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Tue Feb 06 13:12:55 CST 2018.
    -->
    insert into SYS_LOG
    <trim prefix="(" suffix=")" suffixOverrides=",">
        LOGID,
      <if test="operatorid != null">
        OPERATORID,
      </if>
      <if test="logtime != null">
        LOGTIME,
      </if>
      <if test="logtype != null">
        LOGTYPE,
      </if>
      <if test="loginfo != null">
        LOGINFO,
      </if>
      <if test="code != null">
        CODE,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
        log_seq.nextval,
      <if test="operatorid != null">
        #{operatorid,jdbcType=VARCHAR},
      </if>
      <if test="logtime != null">
        #{logtime,jdbcType=DATE},
      </if>
      <if test="logtype != null">
        #{logtype,jdbcType=DECIMAL},
      </if>
      <if test="loginfo != null">
        #{loginfo,jdbcType=VARCHAR},
      </if>
      <if test="code != null">
        #{code,jdbcType=VARCHAR},
      </if>
    </trim>
  </insert>


修改的目的是logid由log_seq序列生成主键编号。

至此,DAO层基本实现完成。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值