品优购商城项目(一)mybatis逆向工程

以下是品优购商城项目(一)mybatis逆向工程的完整攻略,包括基本概念、操作步骤和两个示例说明。

基本概念

MyBatis逆向工程是一种自动生成Java代码的工具,可以根据数据库表结构自动生成Java实体类、Mapper接口和Mapper XML文件。使用MyBatis逆向工程可以大大提高开发效率,减少手动编写Java代码的工作量。

操作步骤

以下是使用MyBatis逆向工程生成Java代码的操作步骤:

  1. 配置数据库连接:在MyBatis逆向工程中,需要配置数据库连接信息,包括数据库驱动、数据库URL、用户名和密码等。
  2. 配置逆向工程生成规则:在MyBatis逆向工程中,需要配置生成Java代码的规则,包括生成Java实体类的包名、生成Mapper接口的包名、生成Mapper XML文件的路径等。
  3. 运行逆向工程:配置完成后,可以运行MyBatis逆向工程,自动生成Java实体类、Mapper接口和Mapper XML文件。

示例说明

以下是两个示例,说明如何使用MyBatis逆向工程生成Java代码:

示例1:生成商品分类实体类和Mapper接口

  1. 配置数据库连接:在MyBatis逆向工程中,需要配置数据库连接信息,包括数据库驱动、数据库URL、用户名和密码等。
  2. 配置逆向工程生成规则:在MyBatis逆向工程中,需要配置生成Java代码的规则,包括生成Java实体类的包名、生成Mapper接口的包名、生成Mapper XML文件的路径等。
  3. 运行逆向工程:配置完成后,可以运行MyBatis逆向工程,自动生成商品分类实体类和Mapper接口。

生成的商品分类实体类代码如下:

public class ItemCat implements Serializable {
    private Long id;

    private Long parentId;

    private String name;

    private Integer status;

    private Integer sortOrder;

    private Boolean isParent;

    private Date created;

    private Date updated;

    // 省略getter和setter方法
}

生成的商品分类Mapper接口代码如下:

public interface ItemCatMapper {
    int deleteByPrimaryKey(Long id);

    int insert(ItemCat record);

    int insertSelective(ItemCat record);

    ItemCat selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(ItemCat record);

    int updateByPrimaryKey(ItemCat record);
}

示例2:生成商品分类Mapper XML文件

  1. 配置数据库连接:在MyBatis逆向工程中,需要配置数据库连接信息,包括数据库驱动、数据库URL、用户名和密码等。
  2. 配置逆向工程生成规则:在MyBatis逆向工程中,需要配置生成Java代码的规则,包括生成Java实体类的包名、生成Mapper接口的包名、生成Mapper XML文件的路径等。
  3. 运行逆向工程:配置完成后,可以运行MyBatis逆向工程,自动生成商品分类Mapper XML文件。

生成的商品分类Mapper XML文件代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.pinyougou.mapper.ItemCatMapper">
  <resultMap id="BaseResultMap" type="com.pinyougou.pojo.ItemCat">
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="parent_id" jdbcType="BIGINT" property="parentId" />
    <result column="name" jdbcType="VARCHAR" property="name" />
    <result column="status" jdbcType="INTEGER" property="status" />
    <result column="sort_order" jdbcType="INTEGER" property="sortOrder" />
    <result column="is_parent" jdbcType="BIT" property="isParent" />
    <result column="created" jdbcType="TIMESTAMP" property="created" />
    <result column="updated" jdbcType="TIMESTAMP" property="updated" />
  </resultMap>
  <sql id="Base_Column_List">
    id, parent_id, name, status, sort_order, is_parent, created, updated
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    select 
    <include refid="Base_Column_List" />
    from tb_item_cat
    where id = #{id,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    delete from tb_item_cat
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="com.pinyougou.pojo.ItemCat">
    insert into tb_item_cat (id, parent_id, name, status, sort_order, is_parent, created, updated)
    values (#{id,jdbcType=BIGINT}, #{parentId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, #{sortOrder,jdbcType=INTEGER}, #{isParent,jdbcType=BIT}, #{created,jdbcType=TIMESTAMP}, #{updated,jdbcType=TIMESTAMP})
  </insert>
  <insert id="insertSelective" parameterType="com.pinyougou.pojo.ItemCat">
    insert into tb_item_cat
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="parentId != null">
        parent_id,
      </if>
      <if test="name != null">
        name,
      </if>
      <if test="status != null">
        status,
      </if>
      <if test="sortOrder != null">
        sort_order,
      </if>
      <if test="isParent != null">
        is_parent,
      </if>
      <if test="created != null">
        created,
      </if>
      <if test="updated != null">
        updated,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      <if test="parentId != null">
        #{parentId,jdbcType=BIGINT},
      </if>
      <if test="name != null">
        #{name,jdbcType=VARCHAR},
      </if>
      <if test="status != null">
        #{status,jdbcType=INTEGER},
      </if>
      <if test="sortOrder != null">
        #{sortOrder,jdbcType=INTEGER},
      </if>
      <if test="isParent != null">
        #{isParent,jdbcType=BIT},
      </if>
      <if test="created != null">
        #{created,jdbcType=TIMESTAMP},
      </if>
      <if test="updated != null">
        #{updated,jdbcType=TIMESTAMP},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.pinyougou.pojo.ItemCat">
    update tb_item_cat
    <set>
      <if test="parentId != null">
        parent_id = #{parentId,jdbcType=BIGINT},
      </if>
      <if test="name != null">
        name = #{name,jdbcType=VARCHAR},
      </if>
      <if test="status != null">
        status = #{status,jdbcType=INTEGER},
      </if>
      <if test="sortOrder != null">
        sort_order = #{sortOrder,jdbcType=INTEGER},
      </if>
      <if test="isParent != null">
        is_parent = #{isParent,jdbcType=BIT},
      </if>
      <if test="created != null">
        created = #{created,jdbcType=TIMESTAMP},
      </if>
      <if test="updated != null">
        updated = #{updated,jdbcType=TIMESTAMP},
      </if>
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.pinyougou.pojo.ItemCat">
    update tb_item_cat
    set parent_id = #{parentId,jdbcType=BIGINT},
      name = #{name,jdbcType=VARCHAR},
      status = #{status,jdbcType=INTEGER},
      sort_order = #{sortOrder,jdbcType=INTEGER},
      is_parent = #{isParent,jdbcType=BIT},
      created = #{created,jdbcType=TIMESTAMP},
      updated = #{updated,jdbcType=TIMESTAMP}
    where id = #{id,jdbcType=BIGINT}
  </update>
</mapper>

结论

MyBatis逆向工程是一种自动生成Java代码的工具,可以根据数据库表结构自动生成Java实体类、Mapper接口和Mapper XML文件。使用MyBatis逆向工程可以大大提高开发效率,减少手动编写Java代码的工作量。使用MyBatis逆向工程需要配置数据库连接信息和生成规则,然后运行逆向工程即可自动生成Java代码。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:品优购商城项目(一)mybatis逆向工程 - Python技术站

(0)
上一篇 2023年5月5日
下一篇 2023年5月5日

相关文章

  • uc浏览器如何同时登录多个账号 多账号同时登录的设置方法

    UC浏览器如何同时登录多个账号 UC浏览器是一款使用广泛的手机浏览器,它支持同时登录多个账号进行操作。下面将为您详细介绍UC浏览器如何同时登录多个账号,以及多账号同时登录的设置方法。 UC浏览器如何同时登录多个账号 在UC浏览器中打开需要登录的第一个账号,完成登录后进入账号的个人中心。 在个人中心中找到退出登录按钮,退出登录第一个账号。 然后重新在UC浏览器…

    other 2023年6月27日
    00
  • 详述JavaScript实现继承的几种方式(推荐)

    当我们需要在JavaScript中创建对象并对其进行扩展时,我们经常需要使用继承。下面将详细讲解JavaScript实现继承的几个方式。 1.原型链继承 原型链是JavaScript中实现继承的最常用的方式之一。通过将一个构造函数的原型指向另一个构造函数的实例,我们可以实现一个构造函数从另一个构造函数中继承属性和方法。 下面是一个示例: function A…

    other 2023年6月26日
    00
  • SpringBoot中的Profile多环境配置方法

    为了更好地适应不同的开发、测试、生产等不同环境,SpringBoot 提供了 Profile 多环境配置方法,可以方便地根据不同的环境变量来配置应用程序各项参数。下面是完整攻略。 1. 创建不同环境的配置文件 在 src/main/resources 目录下创建三个配置文件,分别是 application-dev.yml、application-test.y…

    other 2023年6月25日
    00
  • scroll-view滚动到底部

    scroll-view滚动到底部 简介 在移动设备上,经常需要展示一些内容,并支持滚动。而很多时候,需要滚动到底部以加载更多内容。这时,我们可以使用scroll-view组件来实现。 scroll-view是一个支持滚动的容器组件,可以嵌套其他组件。当内容超过组件的大小时,可以滚动查看其余内容。 使用scroll-view组件 scroll-view通过设置…

    其他 2023年3月28日
    00
  • c#-自定义控件锁定表单用户界面中的invokerequired

    C# – 自定义控件锁定表单用户界面中的InvokeRequired的完整攻略 在 C# 中,当我们在自定义控件中访问表单的 UI 元素时,会遇线程安全。为了解决这个问题,我们可以使用 InvokeRequired 属性和 Invoke() 方法来确保 UI 元素在的线程上访问。在本文中,我们将详细介绍如何使用 InvokeRequired 属性和 Invo…

    other 2023年5月8日
    00
  • android语音识别方法

    Android语音识别方法的完整攻略 Android语音识别是一种常见的人机交互方式,可以帮助用户更方便地操作Android设备。本文将提供Android语音识别方法的完整攻略,包括以下步骤: 配置语音识别权限 创建语音识别器 开始语音识别 处理语音识别结果 同时,本文将提供两个示例说明,以帮助用户更好地理解Android语音识别的使用方法。 步骤一:配置语…

    other 2023年5月9日
    00
  • rasrc4aes加密md5

    以下是关于RSA、RC4、AES加密和MD5哈希算法的完整攻略,包括算法原理、加密过程、示例说明等。 1. RSA加密算法 RSA加密算法是一种公钥加密法,它使用一对公钥和私钥来进行加密和解密操作。以下是RSA加密算法加密过程: 密钥:生成一对公钥和私钥。 加密:使用公钥对明文进行加密。 解密:使用私钥对密文进行解密。 以下是一个使用RSA加密算的示例说明:…

    other 2023年5月7日
    00
  • windows安装python2.7

    以下是“Windows安装Python 2.7”的完整攻略: Windows安装Python 2.7 Python 2.7是一种流行的Python版本,它在Windows上的安装非常简单。以下是如何在Windows上安装Python 2.7的步骤: 1. 下载Python 2.7 首先,您需要从Python官方网站下载Python2.7的安装程序。您可以在以…

    other 2023年5月7日
    00
合作推广
合作推广
分享本页
返回顶部