1. 程式人生 > >遇見一款很受用的一個工具,推薦給各位程式設計師

遇見一款很受用的一個工具,推薦給各位程式設計師

最近我在做一個電商專案,在設計資料庫表的時候遇到過這樣一個場景,商品表中的欄位特別多,設定完後產品經理又說改一下,然後改了一下,但是我程式碼中的實體卻有點問題,一直報欄位不對應,這裡大家就暫且不說什麼我為什麼不使用逆向工程之類的了。

就因為這個問題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/