遇见一款很受用的一个工具,推荐给各位程序员

最近我在做一个电商项目,在设计数据库表的时候遇到过这样一个场景,商品表中的字段特别多,设置完后产品经理又说改一下,然后改了一下,但是我代码中的实体却有点问题,一直报字段不对应,这里大家就暂且不说什么我为什么不使用逆向工程之类的了。

就因为这个问题30多个字段我改了好几次,确实挺费事的,在上周我发现一个很好用的工具,它不仅可以将我们的数据表直接转换为实体类,还可以生成DAO,甚至还可以把我们的json格式的数据直接转换实体类,这里不多说了,给大家简单演示一下这些功能。

数据库表转JavaBean:

我们直接将我们的表结构字段赋值进去点击开始生成,那么它就会给我们生成下面的这些数据,我们先来看下生成的JavaBean

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
*  用户信息
* @author 大狼狗 2018-10-28
*/
public class Userinfo implements Serializable {
   private static final long serialVersionUID = 1L;

   /**
   * 用户id
   */
   private int userId;

   /**
   * 用户名
   */
   private String username;

   /**
   * 创建时间
   */
   private Date addtime;


   public int getUserId() {
       return userId;
   }

   public void setUserId(int userId) {
       this.userId = userId;
   }

   public String getUsername() {
       return username;
   }

   public void setUsername(String username) {
       this.username = username;
   }

   public Date getAddtime() {
       return addtime;
   }

   public void setAddtime(Date addtime) {
       this.addtime = addtime;
   }

}

我们再来看下它给我们生成的其他东西:

这就是给我们生成的一些基本的sql语句:

<?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.softdev.system.dao.UserinfoDao">

   <resultMap id="Userinfo" type="com.softdev.system.entity.Userinfo" >
       <result column="user_id" property="userId" />
       <result column="username" property="username" />
       <result column="addtime" property="addtime" />
   </resultMap>

   <sql id="Base_Column_List">
       `user_id`,
       `username`,
       `addtime`
   </sql>

   <insert id="insert" parameterType="java.util.Map" >
       INSERT INTO userinfo (
           `user_id`,
           `username`,
           `addtime`
       )
       VALUES(
           #{userinfo.userId},
           #{userinfo.username},
           NOW()
       )
   </insert>

   <delete id="delete" parameterType="java.util.Map" >
       DELETE FROM userinfo
       WHERE `id` = #{id}
   </delete>

   <update id="update" parameterType="java.util.Map" >
       UPDATE userinfo
       SET
           user_id = #{userinfo.userId},
           username = #{userinfo.username},
           addtime = #{userinfo.addtime},
           UpdateTime = NOW()
       WHERE `id` = #{userinfo.id}
   </update>


   <select id="load" parameterType="java.util.Map" resultMap="Userinfo">
       SELECT <include refid="Base_Column_List" />
       FROM userinfo
       WHERE `id` = #{id}
   </select>

   <select id="pageList" parameterType="java.util.Map" resultMap="Userinfo">
       SELECT <include refid="Base_Column_List" />
       FROM userinfo
       LIMIT #{offset}, #{pagesize}
   </select>

   <select id="pageListCount" parameterType="java.util.Map" resultType="int">
       SELECT count(1)
       FROM userinfo
   </select>

</mapper>

我们可以通过下面看到,从JavaBean到Controller这个工具都可以帮我们直接生成,是不是感觉好用很多啊!

还有一个我感觉比较好用的功能,我上一个项目做的是公安相关的,里面要和好几个平台进行对接,有时候数据结构很复杂,你要好好分析他们返回的json然后定义对应的实体类,这个工具也可以根据json帮助我们生成对应的JavaBean,还有很多好用的功能我这里就不一一列举了。

我这里直接把链接放在这里,有兴趣的朋友可以看看。

网址:http://www.bejson.com/

猜你喜欢

转载自my.oschina.net/u/3178270/blog/2253788