EasyCode插件(自动生成代码神器)

简介

在传统的项目中,数据库写好以后,需要手动写对应的实体类,DAO层接口,Service接口,以及数据库的映射文件,数据库的表不多的话还好说,如果动则几十张表,上百张表,每个表都得写对应的文件,就显得非常的繁琐。
EasyCode可以自动根据表生成:entity,dao,service,serviceImpl,controller等。这里以SpringBoo环境演示。

1.安装插件

找到设置里面的插件选项,搜索EasyCode安装并重启就可以。
EasyCode插件(自动生成代码神器)_第1张图片

2.建立SpringBoot项目

新建项目,通过初始化向导可快速建立一个SpringBoot项目。
EasyCode插件(自动生成代码神器)_第2张图片
选择jar包版本和自定义名称。
EasyCode插件(自动生成代码神器)_第3张图片
选择你所需要的依赖。
这里仅选择了springWeb选项,生成controller的包需要用到,这里提供的是基本的依赖,mybatis的依赖需要再手动导入。
EasyCode插件(自动生成代码神器)_第4张图片
再点击下一步,就是配置工作目录,配置完成后,一个springBoot项目完成了。

3.导入所需依赖

导入连接数据库和mybatis的依赖。

 <dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatisartifactId>
            <version>3.5.7version>
        dependency>

4.连接数据库

打开右侧数据库的按钮,选择新建一个数据源,找到mysql选项。
EasyCode插件(自动生成代码神器)_第5张图片
配置数据库的用户名和密码以及连接的数据库名称,点击确定。
EasyCode插件(自动生成代码神器)_第6张图片

5.通过EasyCode生成代码

数据库连接成功后,右键表。
EasyCode插件(自动生成代码神器)_第7张图片

EasyCode插件(自动生成代码神器)_第8张图片
选择你要生成的包。
EasyCode插件(自动生成代码神器)_第9张图片
成功后的结果,可以看到自动为我们生成了包。
EasyCode插件(自动生成代码神器)_第10张图片
比如进去entity里面是这个样子的,属性和get和set方法都有了。
EasyCode插件(自动生成代码神器)_第11张图片
再看映射文件里面,生成了基本的增删改查方法,并且封装了resultMap,还有条件查询的动态sql语句,我爱死你了。



<mapper namespace="com.dao.UserDao">

    <resultMap type="com.entity.User" id="UserMap">
        <result property="id" column="id" jdbcType="VARCHAR"/>
        <result property="name" column="name" jdbcType="VARCHAR"/>
        <result property="age" column="age" jdbcType="INTEGER"/>
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
    resultMap>

    
    <select id="queryById" resultMap="UserMap">
        select id,
               name,
               age,
               create_time,
               update_time
        from mybatis1.user
        where id = #{id}
    select>

    
    <select id="queryAllByLimit" resultMap="UserMap">
        select id,
               name,
               age,
               create_time,
               update_time
        from mybatis1.user limit #{offset}, #{limit}
    select>

    
    <select id="queryAll" resultMap="UserMap">
        select
        id, name, age, create_time, update_time
        from mybatis1.user
        <where>
            <if test="id != null and id != ''">
                and id = #{id}
            if>
            <if test="name != null and name != ''">
                and name = #{name}
            if>
            <if test="age != null">
                and age = #{age}
            if>
            <if test="createTime != null">
                and create_time = #{createTime}
            if>
            <if test="updateTime != null">
                and update_time = #{updateTime}
            if>
        where>
    select>

    
    <insert id="insert" keyProperty="id" useGeneratedKeys="true">
        insert into mybatis1.user(name, age, create_time, update_time)
        values (#{name}, #{age}, #{createTime}, #{updateTime})
    insert>

    <insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
        insert into mybatis1.user(name, age, create_time, update_time)
        values
        <foreach collection="entities" item="entity" separator=",">
            (#{entity.name}, #{entity.age}, #{entity.createTime}, #{entity.updateTime})
        foreach>
    insert>

    <insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
        insert into mybatis1.user(name, age, create_time, update_time)
        values
        <foreach collection="entities" item="entity" separator=",">
            (#{entity.name}, #{entity.age}, #{entity.createTime}, #{entity.updateTime})
        foreach>
        on duplicate key update
        name = values(name) , age = values(age) , create_time = values(create_time) , update_time = values(update_time)
    insert>

    
    <update id="update">
        update mybatis1.user
        <set>
            <if test="name != null and name != ''">
                name = #{name},
            if>
            <if test="age != null">
                age = #{age},
            if>
            <if test="createTime != null">
                create_time = #{createTime},
            if>
            <if test="updateTime != null">
                update_time = #{updateTime},
            if>
        set>
        where id = #{id}
    update>

    
    <delete id="deleteById">
        delete
        from mybatis1.user
        where id = #{id}
    delete>

mapper>

再看下controller里,会自动注入service层。
EasyCode插件(自动生成代码神器)_第12张图片
EasyCode大大的简化我们的开放,解放程序员的双手,简直神器。

你可能感兴趣的:(java,mybatis)