最近我在作一個電商項目,在設計數據庫表的時候遇到過這樣一個場景,商品表中的字段特別多,設置完後產品經理又說改一下,而後改了一下,可是我代碼中的實體卻有點問題,一直報字段不對應,這裏你們就暫且不說什麼我爲何不使用逆向工程之類的了。java
就由於這個問題30多個字段我改了好幾回,確實挺費事的,在上週我發現一個很好用的工具,它不只能夠將咱們的數據表直接轉換爲實體類,還能夠生成DAO,甚至還能夠把咱們的json格式的數據直接轉換實體類,這裏很少說了,給你們簡單演示一下這些功能。sql
數據庫錶轉JavaBean:數據庫
咱們直接將咱們的表結構字段賦值進去點擊開始生成,那麼它就會給咱們生成下面的這些數據,咱們先來看下生成的JavaBeanjson
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語句:mybatis
<?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這個工具均可以幫咱們直接生成,是否是感受好用不少啊!app
還有一個我感受比較好用的功能,我上一個項目作的是公安相關的,裏面要和好幾個平臺進行對接,有時候數據結構很複雜,你要好好分析他們返回的json而後定義對應的實體類,這個工具也能夠根據json幫助咱們生成對應的JavaBean,還有不少好用的功能我這裏就不一一列舉了。工具
我這裏直接把連接放在這裏,有興趣的朋友能夠看看。this
網址:http://www.bejson.com/spa