mybatis-generator【mybatis代码自动生成】
2016-02-24 11:28
483 查看
一、简介
mybatis属于半自动的ORM,使用其需要大量的编写Mapping的映射文件xml。因此可能会需要大量的时间,浪费开发时间。mybatis-generator是一个可以方便快速自动生成对应表的mapping映射文件xml。
二、准备
需要三个jar包和一个配置文件xml
三、配置generator
注意:因为mybatis是半自动的,所以数据库必须要有表,所以还是需要手动建表。
四、使用
1、在window下操作
2、打开cmd,进入文件夹
3、使用命令
java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite
自动生成三个文件
UserMapper.java
UserMapper.xml
User.java
mybatis属于半自动的ORM,使用其需要大量的编写Mapping的映射文件xml。因此可能会需要大量的时间,浪费开发时间。mybatis-generator是一个可以方便快速自动生成对应表的mapping映射文件xml。
二、准备
需要三个jar包和一个配置文件xml
三、配置generator
注意:因为mybatis是半自动的,所以数据库必须要有表,所以还是需要手动建表。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <!-- 数据库驱动包位置 --> <classPathEntry location="E:\generator\mysql-connector-java-5.1.24-bin.jar" /> <!-- <classPathEntry location="C:\oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar" />--> <context id="DB2Tables" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressAllComments" value="true" /> </commentGenerator> <!-- 数据库链接URL、用户名、密码 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8" userId="root" password="12345678"> <!-- <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@localhost:1521:orcl" userId="msa" password="msa"> --> </jdbcConnection> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- 生成模型的包名和位置 --> <javaModelGenerator targetPackage="com.wuhn.bean" targetProject="D:\Users\Administrator\Workspaces\MyEclipse 10\test\src"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- 生成的映射文件包名和位置 --> <sqlMapGenerator targetPackage="com.wuhn.mapping" targetProject="D:\Users\Administrator\Workspaces\MyEclipse 10\test\src"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!-- 生成DAO的包名和位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.wuhn.dao" targetProject="D:\Users\Administrator\Workspaces\MyEclipse 10\test\src"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!-- 要生成那些表(更改tableName和domainObjectName就可以) --> <table tableName="user_info" domainObjectName="Test" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> </context> </generatorConfiguration>
四、使用
1、在window下操作
2、打开cmd,进入文件夹
3、使用命令
java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite
自动生成三个文件
UserMapper.java
package com.wuhn.dao; import com.wuhn.module.User; public interface UserMapper { int deleteByPrimaryKey(String userid); int insert(User record); int insertSelective(User record); User selectByPrimaryKey(String userid); int updateByPrimaryKeySelective(User record); int updateByPrimaryKey(User record); }
UserMapper.xml
<?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.wuhn.dao.UserMapper" > <resultMap id="BaseResultMap" type="com.wuhn.module.User" > <id column="userid" property="userid" jdbcType="VARCHAR" /> <result column="nickname" property="nickname" jdbcType="VARCHAR" /> <result column="email" property="email" jdbcType="VARCHAR" /> <result column="password" property="password" jdbcType="VARCHAR" /> <result column="name" property="name" jdbcType="VARCHAR" /> <result column="gender" property="gender" jdbcType="INTEGER" /> <result column="birthday" property="birthday" jdbcType="DATE" /> <result column="picture" property="picture" jdbcType="VARCHAR" /> </resultMap> <sql id="Base_Column_List" > userid, nickname, email, password, name, gender, birthday, picture </sql> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" > select <include refid="Base_Column_List" /> from user where userid = #{userid,jdbcType=VARCHAR} </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.String" > delete from user where userid = #{userid,jdbcType=VARCHAR} </delete> <insert id="insert" parameterType="com.wuhn.module.User" > insert into user (userid, nickname, email, password, name, gender, birthday, picture) values (#{userid,jdbcType=VARCHAR}, #{nickname,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{gender,jdbcType=INTEGER}, #{birthday,jdbcType=DATE}, #{picture,jdbcType=VARCHAR}) </insert> <insert id="insertSelective" parameterType="com.wuhn.module.User" > insert into user <trim prefix="(" suffix=")" suffixOverrides="," > <if test="userid != null" > userid, </if> <if test="nickname != null" > nickname, </if> <if test="email != null" > email, </if> <if test="password != null" > password, </if> <if test="name != null" > name, </if> <if test="gender != null" > gender, </if> <if test="birthday != null" > birthday, </if> <if test="picture != null" > picture, </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides="," > <if test="userid != null" > #{userid,jdbcType=VARCHAR}, </if> <if test="nickname != null" > #{nickname,jdbcType=VARCHAR}, </if> <if test="email != null" > #{email,jdbcType=VARCHAR}, </if> <if test="password != null" > #{password,jdbcType=VARCHAR}, </if> <if test="name != null" > #{name,jdbcType=VARCHAR}, </if> <if test="gender != null" > #{gender,jdbcType=INTEGER}, </if> <if test="birthday != null" > #{birthday,jdbcType=DATE}, </if> <if test="picture != null" > #{picture,jdbcType=VARCHAR}, </if> </trim> </insert> <update id="updateByPrimaryKeySelective" parameterType="com.wuhn.module.User" > update user <set > <if test="nickname != null" > nickname = #{nickname,jdbcType=VARCHAR}, </if> <if test="email != null" > email = #{email,jdbcType=VARCHAR}, </if> <if test="password != null" > password = #{password,jdbcType=VARCHAR}, </if> <if test="name != null" > name = #{name,jdbcType=VARCHAR}, </if> <if test="gender != null" > gender = #{gender,jdbcType=INTEGER}, </if> <if test="birthday != null" > birthday = #{birthday,jdbcType=DATE}, </if> <if test="picture != null" > picture = #{picture,jdbcType=VARCHAR}, </if> </set> where userid = #{userid,jdbcType=VARCHAR} </update> <update id="updateByPrimaryKey" parameterType="com.wuhn.module.User" > update user set nickname = #{nickname,jdbcType=VARCHAR}, email = #{email,jdbcType=VARCHAR}, password = #{password,jdbcType=VARCHAR}, name = #{name,jdbcType=VARCHAR}, gender = #{gender,jdbcType=INTEGER}, birthday = #{birthday,jdbcType=DATE}, picture = #{picture,jdbcType=VARCHAR} where userid = #{userid,jdbcType=VARCHAR} </update> </mapper>
User.java
package com.wuhn.module; import java.util.Date; public class User { private String userid; private String nickname; private String email; private String password; private String name; private Integer gender; private Date birthday; private String picture; public String getUserid() { return userid; } public void setUserid(String userid) { this.userid = userid == null ? null : userid.trim(); } public String getNickname() { return nickname; } public void setNickname(String nickname) { this.nickname = nickname == null ? null : nickname.trim(); } public String getEmail() { return email; } public void setEmail(String email) { this.email = email == null ? null : email.trim(); } public String getPassword() { return password; } public void setPassword(String password) { this.password = password == null ? null : password.trim(); } public String getName() { return name; } public void setName(String name) { this.name = name == null ? null : name.trim(); } public Integer getGender() { return gender; } public void setGender(Integer gender) { this.gender = gender; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getPicture() { return picture; } public void setPicture(String picture) { this.picture = picture == null ? null : picture.trim(); } }
相关文章推荐
- Spring对Hibernate事务管理
- C++学习笔记:3.4多继承
- 关于大数据之批处理SpringBatch
- PHP 删除文本文件的任意一行或添加…
- vb截取任意两个特征字符之间的字符…
- Golang学习摘录(三)
- 把struts2的struts.xml配置文件分解成多个配置文件
- vb.net webbrowser填充textarea
- vb.net 不会无响应的延时函数delay
- vb 读写.ini文件
- vb.net 数组去除重复
- Ubuntu环境vsftp安装配置
- Dubbo+Zookeeper+Spring整合应用篇-Dubbo基于Zookeeper实现分布式服务
- java 可变参数
- Eclipse+Webservice简单开发实例
- 汇总PHPmailer群发Gmail的常见问题
- 【Java】各种软件安装与环境配置的失败
- Android Studio 与 Eclipse 快捷键对照及AS常用快捷键
- Java实现几种常见排序方法
- google排名算法,公式