遇見一款很受用的一個工具,推薦給各位程式設計師
阿新 • • 發佈:2018-11-26
最近我在做一個電商專案,在設計資料庫表的時候遇到過這樣一個場景,商品表中的欄位特別多,設定完後產品經理又說改一下,然後改了一下,但是我程式碼中的實體卻有點問題,一直報欄位不對應,這裡大家就暫且不說什麼我為什麼不使用逆向工程之類的了。
就因為這個問題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/