遇见一款很受用的一个工具,推荐给各位程序员
最近我在做一个电商项目,在设计数据库表的时候遇到过这样一个场景,商品表中的字段特别多,设置完后产品经理又说改一下,然后改了一下,但是我代码中的实体却有点问题,一直报字段不对应,这里大家就暂且不说什么我为什么不使用逆向工程之类的了。 就因为这个问题30多个字段我改了好几次,确实挺费事的,在上周我发现一个很好用的工具,它不仅可以将我们的数据表直接转换为实体类,还可以生成DAO,甚至还可以把我们的json格式的数据直接转换实体类,这里不多说了,给大家简单演示一下这些功能。 数据库表转JavaBean: 我们直接将我们的表结构字段赋值进去点击开始生成,那么它就会给我们生成下面的这些数据,我们先来看下生成的JavaBean importjava.io.Serializable; importjava.util.Date; importjava.util.List; /** * 用户信息 * @author 大狼狗 2018-10-28 */ publicclassUserinfoimplementsSerializable{ privatestaticfinallongserialVersionUID =1L; /** * 用户id */ privateintuserId; /** * 用户名 */ privateString username; /** * 创建时间 */ privateDate addtime; publicintgetUserId(){ returnuserId; } publicvoidsetUserId(intuserId){ this.userId = userId; } publicStringgetUsername(){ returnusername; } publicvoidsetUsername(String username){ this.username = username; } publicDategetAddtime(){ returnaddtime; } publicvoidsetAddtime(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"> <mappernamespace="com.softdev.system.dao.UserinfoDao"> <resultMapid="Userinfo"type="com.softdev.system.entity.Userinfo"> <resultcolumn="user_id"property="userId"/> <resultcolumn="username"property="username"/> <resultcolumn="addtime"property="addtime"/> </resultMap> <sqlid="Base_Column_List"> `user_id`, `username`, `addtime` </sql> <insertid="insert"parameterType="java.util.Map"> INSERT INTO userinfo ( `user_id`, `username`, `addtime` ) VALUES( #{userinfo.userId}, #{userinfo.username}, NOW() ) </insert> <deleteid="delete"parameterType="java.util.Map"> DELETE FROM userinfo WHERE `id` = #{id} </delete> <updateid="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> <selectid="load"parameterType="java.util.Map"resultMap="Userinfo"> SELECT<includerefid="Base_Column_List"/> FROM userinfo WHERE `id` = #{id} </select> <selectid="pageList"parameterType="java.util.Map"resultMap="Userinfo"> SELECT<includerefid="Base_Column_List"/> FROM userinfo LIMIT #{offset}, #{pagesize} </select> <selectid="pageListCount"parameterType="java.util.Map"resultType="int"> SELECT count(1) FROM userinfo </select> </mapper> 我们可以通过下面看到,从JavaBean到Controller这个工具都可以帮我们直接生成,是不是感觉好用很多啊! 还有一个我感觉比较好用的功能,我上一个项目做的是公安相关的,里面要和好几个平台进行对接,有时候数据结构很复杂,你要好好分析他们返回的json然后定义对应的实体类,这个工具也可以根据json帮助我们生成对应的JavaBean,还有很多好用的功能我这里就不一一列举了。 我这里直接把链接放在这里,有兴趣的朋友可以看看。 网址:http://www.bejson.com/