IDEA 插件推荐之Easy Code

在平时的开发过程中,一个好用的IDE可以明显提高我们的开发效率,但是如果你在一个好用的IDE中再装上一些好用的插件的话,更是如虎添翼。下面我就介绍一款帮助我们CRUD的神奇。一起来看吧。

一、首先建立一个SpringBoot的项目

该插件是基于Mybatis的,所以如果项目中用的是JPA的话,可能功能就没这么强大了。这里我们只需要加入Spring web、Mybatis、和Mysql的Driver就可以了。

创建好项目之后依然是我们熟悉的样子。。。

二、配置数据源

配置数据源这一步只能是ultimate版本才有,社区版的没有该功能。

配置好数据源之后我们看到的页面就是这样了。

三、使用插件一键生成代码

 

点击之后会如果存在不匹配的类型就会弹出如下的提示框

没关系,我们点击yes就好了。

如上图,手动添加缺少的Mapping,其中(\(\d+\))是正则匹配所有的数字,然后点击ok。

1、Pacakge选择当前项目已有的就可以,会自动生成子目录。

2、下边选择All。

3、点击OK生成代码。

生成的代码目录结果如下:

下面一起来看下生成的代码是什么样子的。

因为表名字是t_user,所以名字都是TUser开头的。首先看下Controller。

默认只生成了一个根据ID获取数据的接口。

service层:

实现类:

service层有基础的增删改查功能了。是不是很赞。

下面看下dao层和Mapper.xml文件信息。

package com.example.demo.dao;

import com.example.demo.entity.TUser;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**
 * (TUser)表数据库访问层
 *
 * @author makejava
 * @since 2020-02-25 23:38:39
 */
public interface TUserDao {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    TUser queryById(Long id);

    /**
     * 查询指定行数据
     *
     * @param offset 查询起始位置
     * @param limit 查询条数
     * @return 对象列表
     */
    List<TUser> queryAllByLimit(@Param("offset") int offset, @Param("limit") int limit);


    /**
     * 通过实体作为筛选条件查询
     *
     * @param tUser 实例对象
     * @return 对象列表
     */
    List<TUser> queryAll(TUser tUser);

    /**
     * 新增数据
     *
     * @param tUser 实例对象
     * @return 影响行数
     */
    int insert(TUser tUser);

    /**
     * 修改数据
     *
     * @param tUser 实例对象
     * @return 影响行数
     */
    int update(TUser tUser);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 影响行数
     */
    int deleteById(Long id);

}

TUserDao.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.example.demo.dao.TUserDao">

    <resultMap type="com.example.demo.entity.TUser" id="TUserMap">
        <result property="id" column="id" jdbcType="INTEGER"/>
        <result property="name" column="name" jdbcType="VARCHAR"/>
        <result property="age" column="age" jdbcType="INTEGER"/>
        <result property="address" column="address" jdbcType="VARCHAR"/>
        <result property="gender" column="gender" jdbcType="INTEGER"/>
    </resultMap>

    <!--查询单个-->
    <select id="queryById" resultMap="TUserMap">
        select
          id, name, age, address, gender
        from tyler.t_user
        where id = #{id}
    </select>

    <!--查询指定行数据-->
    <select id="queryAllByLimit" resultMap="TUserMap">
        select
          id, name, age, address, gender
        from tyler.t_user
        limit #{offset}, #{limit}
    </select>

    <!--通过实体作为筛选条件查询-->
    <select id="queryAll" resultMap="TUserMap">
        select
          id, name, age, address, gender
        from tyler.t_user
        <where>
            <if test="id != null">
                and id = #{id}
            </if>
            <if test="name != null and name != ''">
                and name = #{name}
            </if>
            <if test="age != null">
                and age = #{age}
            </if>
            <if test="address != null and address != ''">
                and address = #{address}
            </if>
            <if test="gender != null">
                and gender = #{gender}
            </if>
        </where>
    </select>

    <!--新增所有列-->
    <insert id="insert" keyProperty="id" useGeneratedKeys="true">
        insert into tyler.t_user(name, age, address, gender)
        values (#{name}, #{age}, #{address}, #{gender})
    </insert>

    <!--通过主键修改数据-->
    <update id="update">
        update tyler.t_user
        <set>
            <if test="name != null and name != ''">
                name = #{name},
            </if>
            <if test="age != null">
                age = #{age},
            </if>
            <if test="address != null and address != ''">
                address = #{address},
            </if>
            <if test="gender != null">
                gender = #{gender},
            </if>
        </set>
        where id = #{id}
    </update>

    <!--通过主键删除-->
    <delete id="deleteById">
        delete from tyler.t_user where id = #{id}
    </delete>

</mapper>

实体类:

package com.example.demo.entity;

import java.io.Serializable;

/**
 * (TUser)实体类
 *
 * @author makejava
 * @since 2020-02-25 23:38:37
 */
public class TUser implements Serializable {
    private static final long serialVersionUID = -25621863885690058L;
    
    private Long id;
    
    private String name;
    
    private Integer age;
    
    private String address;
    /**
    * 0-male,1-female
    */
    private Integer gender;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Integer getGender() {
        return gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

}

最后,在application.properties中添加数据源并指定mapper.xml的路径:

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=sz12689
spring.datasource.url=jdbc:mysql://localhost:3306/tyler


mybatis.mapper-locations=classpath:/mapper/*.xml

运行一下,看看是否运行正常。

一切OK,大功告成。中午加鸡腿。~\(≧▽≦)/~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值