瀏覽代碼

Merge branch 'dev' of /home/nieqiurong/mybatis-plus with conflicts.

nieqiurong 8 年之前
父節點
當前提交
4cfdaabef5
共有 23 個文件被更改,包括 542 次插入85 次删除
  1. 65 0
      mybatis-plus/D:/com/baomidou/test/entity/TPhone.java
  2. 54 0
      mybatis-plus/D:/com/baomidou/test/entity/TProductOrder.java
  3. 65 0
      mybatis-plus/D:/com/baomidou/test/entity/TUser.java
  4. 16 0
      mybatis-plus/D:/com/baomidou/test/mapper/TPhoneMapper.java
  5. 16 0
      mybatis-plus/D:/com/baomidou/test/mapper/TProductOrderMapper.java
  6. 16 0
      mybatis-plus/D:/com/baomidou/test/mapper/TUserMapper.java
  7. 12 0
      mybatis-plus/D:/com/baomidou/test/mapper/xml/TPhoneMapper.xml
  8. 11 0
      mybatis-plus/D:/com/baomidou/test/mapper/xml/TProductOrderMapper.xml
  9. 12 0
      mybatis-plus/D:/com/baomidou/test/mapper/xml/TUserMapper.xml
  10. 16 0
      mybatis-plus/D:/com/baomidou/test/service/ITPhoneService.java
  11. 16 0
      mybatis-plus/D:/com/baomidou/test/service/ITProductOrderService.java
  12. 16 0
      mybatis-plus/D:/com/baomidou/test/service/ITUserService.java
  13. 20 0
      mybatis-plus/D:/com/baomidou/test/service/impl/TPhoneServiceImpl.java
  14. 20 0
      mybatis-plus/D:/com/baomidou/test/service/impl/TProductOrderServiceImpl.java
  15. 20 0
      mybatis-plus/D:/com/baomidou/test/service/impl/TUserServiceImpl.java
  16. 18 0
      mybatis-plus/D:/com/baomidou/test/web/TPhoneController.java
  17. 18 0
      mybatis-plus/D:/com/baomidou/test/web/TProductOrderController.java
  18. 18 0
      mybatis-plus/D:/com/baomidou/test/web/TUserController.java
  19. 12 12
      mybatis-plus/pom.xml
  20. 66 59
      mybatis-plus/src/main/java/com/baomidou/mybatisplus/generator/config/builder/ConfigBuilder.java
  21. 10 1
      mybatis-plus/src/main/java/com/baomidou/mybatisplus/generator/config/po/TableField.java
  22. 21 9
      mybatis-plus/src/main/resources/template/entity.java.vm
  23. 4 4
      mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/generator/MysqlGenerator.java

+ 65 - 0
mybatis-plus/D:/com/baomidou/test/entity/TPhone.java

@@ -0,0 +1,65 @@
+package com.baomidou.test.entity;
+
+import com.baomidou.mybatisplus.activerecord.Model;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Yanghu
+ * @since 2017-01-11
+ */
+@TableName("t_phone")
+public class TPhone extends Model<TPhone> {
+
+    private static final long serialVersionUID = 1L;
+
+	/**
+	 * 
+	 */
+	@TableId
+	private Long id;
+	/**
+	 * 
+	 */
+	private String username;
+	/**
+	 * 
+	 */
+	private Integer age;
+
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
+	public Integer getAge() {
+		return age;
+	}
+
+	public void setAge(Integer age) {
+		this.age = age;
+	}
+
+	@Override
+	protected Serializable pkVal() {
+		return this.id;
+	}
+
+}

+ 54 - 0
mybatis-plus/D:/com/baomidou/test/entity/TProductOrder.java

@@ -0,0 +1,54 @@
+package com.baomidou.test.entity;
+
+import com.baomidou.mybatisplus.activerecord.Model;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Yanghu
+ * @since 2017-01-11
+ */
+@TableName("t_product_order")
+public class TProductOrder extends Model<TProductOrder> {
+
+    private static final long serialVersionUID = 1L;
+
+	/**
+	 * 
+	 */
+	@TableField(value="receiver_mobile")
+	private String receiverMobile;
+	/**
+	 * 
+	 */
+	@TableField(value="bank_Card_Number")
+	private String bankCardNumber;
+
+
+	public String getReceiverMobile() {
+		return receiverMobile;
+	}
+
+	public void setReceiverMobile(String receiverMobile) {
+		this.receiverMobile = receiverMobile;
+	}
+
+	public String getBankCardNumber() {
+		return bankCardNumber;
+	}
+
+	public void setBankCardNumber(String bankCardNumber) {
+		this.bankCardNumber = bankCardNumber;
+	}
+
+	@Override
+	protected Serializable pkVal() {
+		return this.id;
+	}
+
+}

+ 65 - 0
mybatis-plus/D:/com/baomidou/test/entity/TUser.java

@@ -0,0 +1,65 @@
+package com.baomidou.test.entity;
+
+import com.baomidou.mybatisplus.activerecord.Model;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Yanghu
+ * @since 2017-01-11
+ */
+@TableName("t_user")
+public class TUser extends Model<TUser> {
+
+    private static final long serialVersionUID = 1L;
+
+	/**
+	 * 
+	 */
+	@TableId
+	private Long userid;
+	/**
+	 * 
+	 */
+	private String username;
+	/**
+	 * 
+	 */
+	private Integer age;
+
+
+	public Long getUserid() {
+		return userid;
+	}
+
+	public void setUserid(Long userid) {
+		this.userid = userid;
+	}
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
+	public Integer getAge() {
+		return age;
+	}
+
+	public void setAge(Integer age) {
+		this.age = age;
+	}
+
+	@Override
+	protected Serializable pkVal() {
+		return this.userid;
+	}
+
+}

+ 16 - 0
mybatis-plus/D:/com/baomidou/test/mapper/TPhoneMapper.java

@@ -0,0 +1,16 @@
+package com.baomidou.test.mapper;
+
+import com.baomidou.test.entity.TPhone;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+/**
+ * <p>
+ * Mapper接口
+ * </p>
+ *
+ * @author Yanghu
+ * @since 2017-01-11
+ */
+public interface TPhoneMapper extends BaseMapper<TPhone> {
+
+}

+ 16 - 0
mybatis-plus/D:/com/baomidou/test/mapper/TProductOrderMapper.java

@@ -0,0 +1,16 @@
+package com.baomidou.test.mapper;
+
+import com.baomidou.test.entity.TProductOrder;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+/**
+ * <p>
+ * Mapper接口
+ * </p>
+ *
+ * @author Yanghu
+ * @since 2017-01-11
+ */
+public interface TProductOrderMapper extends BaseMapper<TProductOrder> {
+
+}

+ 16 - 0
mybatis-plus/D:/com/baomidou/test/mapper/TUserMapper.java

@@ -0,0 +1,16 @@
+package com.baomidou.test.mapper;
+
+import com.baomidou.test.entity.TUser;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+/**
+ * <p>
+ * Mapper接口
+ * </p>
+ *
+ * @author Yanghu
+ * @since 2017-01-11
+ */
+public interface TUserMapper extends BaseMapper<TUser> {
+
+}

+ 12 - 0
mybatis-plus/D:/com/baomidou/test/mapper/xml/TPhoneMapper.xml

@@ -0,0 +1,12 @@
+<?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.baomidou.test.mapper.TPhoneMapper">
+
+	<!-- 通用查询映射结果 -->
+	<resultMap id="BaseResultMap" type="com.baomidou.test.entity.TPhone">
+		<id column="id" property="id" />
+		<result column="userName" property="username" />
+		<result column="age" property="age" />
+	</resultMap>
+
+</mapper>

+ 11 - 0
mybatis-plus/D:/com/baomidou/test/mapper/xml/TProductOrderMapper.xml

@@ -0,0 +1,11 @@
+<?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.baomidou.test.mapper.TProductOrderMapper">
+
+	<!-- 通用查询映射结果 -->
+	<resultMap id="BaseResultMap" type="com.baomidou.test.entity.TProductOrder">
+		<result column="receiver_mobile" property="receiverMobile" />
+		<result column="bank_Card_Number" property="bankCardNumber" />
+	</resultMap>
+
+</mapper>

+ 12 - 0
mybatis-plus/D:/com/baomidou/test/mapper/xml/TUserMapper.xml

@@ -0,0 +1,12 @@
+<?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.baomidou.test.mapper.TUserMapper">
+
+	<!-- 通用查询映射结果 -->
+	<resultMap id="BaseResultMap" type="com.baomidou.test.entity.TUser">
+		<id column="userId" property="userid" />
+		<result column="userName" property="username" />
+		<result column="age" property="age" />
+	</resultMap>
+
+</mapper>

+ 16 - 0
mybatis-plus/D:/com/baomidou/test/service/ITPhoneService.java

@@ -0,0 +1,16 @@
+package com.baomidou.test.service;
+
+import com.baomidou.test.entity.TPhone;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+ * <p>
+ *   服务类
+ * </p>
+ *
+ * @author Yanghu
+ * @since 2017-01-11
+ */
+public interface ITPhoneService extends IService<TPhone> {
+	
+}

+ 16 - 0
mybatis-plus/D:/com/baomidou/test/service/ITProductOrderService.java

@@ -0,0 +1,16 @@
+package com.baomidou.test.service;
+
+import com.baomidou.test.entity.TProductOrder;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+ * <p>
+ *   服务类
+ * </p>
+ *
+ * @author Yanghu
+ * @since 2017-01-11
+ */
+public interface ITProductOrderService extends IService<TProductOrder> {
+	
+}

+ 16 - 0
mybatis-plus/D:/com/baomidou/test/service/ITUserService.java

@@ -0,0 +1,16 @@
+package com.baomidou.test.service;
+
+import com.baomidou.test.entity.TUser;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+ * <p>
+ *   服务类
+ * </p>
+ *
+ * @author Yanghu
+ * @since 2017-01-11
+ */
+public interface ITUserService extends IService<TUser> {
+	
+}

+ 20 - 0
mybatis-plus/D:/com/baomidou/test/service/impl/TPhoneServiceImpl.java

@@ -0,0 +1,20 @@
+package com.baomidou.test.service.impl;
+
+import com.baomidou.test.entity.TPhone;
+import com.baomidou.test.mapper.TPhoneMapper;
+import com.baomidou.test.service.ITPhoneService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *   服务实现类
+ * </p>
+ *
+ * @author Yanghu
+ * @since 2017-01-11
+ */
+@Service
+public class TPhoneServiceImpl extends ServiceImpl<TPhoneMapper, TPhone> implements ITPhoneService {
+	
+}

+ 20 - 0
mybatis-plus/D:/com/baomidou/test/service/impl/TProductOrderServiceImpl.java

@@ -0,0 +1,20 @@
+package com.baomidou.test.service.impl;
+
+import com.baomidou.test.entity.TProductOrder;
+import com.baomidou.test.mapper.TProductOrderMapper;
+import com.baomidou.test.service.ITProductOrderService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *   服务实现类
+ * </p>
+ *
+ * @author Yanghu
+ * @since 2017-01-11
+ */
+@Service
+public class TProductOrderServiceImpl extends ServiceImpl<TProductOrderMapper, TProductOrder> implements ITProductOrderService {
+	
+}

+ 20 - 0
mybatis-plus/D:/com/baomidou/test/service/impl/TUserServiceImpl.java

@@ -0,0 +1,20 @@
+package com.baomidou.test.service.impl;
+
+import com.baomidou.test.entity.TUser;
+import com.baomidou.test.mapper.TUserMapper;
+import com.baomidou.test.service.ITUserService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *   服务实现类
+ * </p>
+ *
+ * @author Yanghu
+ * @since 2017-01-11
+ */
+@Service
+public class TUserServiceImpl extends ServiceImpl<TUserMapper, TUser> implements ITUserService {
+	
+}

+ 18 - 0
mybatis-plus/D:/com/baomidou/test/web/TPhoneController.java

@@ -0,0 +1,18 @@
+package com.baomidou.test.web;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+/**
+ * <p>
+ *   前端控制器
+ * </p>
+ *
+ * @author Yanghu
+ * @since 2017-01-11
+ */
+@Controller
+@RequestMapping("/test/tPhone")
+public class TPhoneController {
+	
+}

+ 18 - 0
mybatis-plus/D:/com/baomidou/test/web/TProductOrderController.java

@@ -0,0 +1,18 @@
+package com.baomidou.test.web;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+/**
+ * <p>
+ *   前端控制器
+ * </p>
+ *
+ * @author Yanghu
+ * @since 2017-01-11
+ */
+@Controller
+@RequestMapping("/test/tProductOrder")
+public class TProductOrderController {
+	
+}

+ 18 - 0
mybatis-plus/D:/com/baomidou/test/web/TUserController.java

@@ -0,0 +1,18 @@
+package com.baomidou.test.web;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+/**
+ * <p>
+ *   前端控制器
+ * </p>
+ *
+ * @author Yanghu
+ * @since 2017-01-11
+ */
+@Controller
+@RequestMapping("/test/tUser")
+public class TUserController {
+	
+}

+ 12 - 12
mybatis-plus/pom.xml

@@ -127,12 +127,12 @@
 			<version>${mybatis-ehcache.version}</version>
 			<scope>test</scope>
 		</dependency>
-		<dependency>
-			<groupId>com.oracle</groupId>
-			<artifactId>ojdbc14</artifactId>
-			<version>${ojdbc14.version}</version>
-			<scope>test</scope>
-		</dependency>
+		<!--<dependency>-->
+			<!--<groupId>com.oracle</groupId>-->
+			<!--<artifactId>ojdbc14</artifactId>-->
+			<!--<version>${ojdbc14.version}</version>-->
+			<!--<scope>test</scope>-->
+		<!--</dependency>-->
 		<dependency>
 			<groupId>ch.qos.logback</groupId>
 			<artifactId>logback-classic</artifactId>
@@ -157,12 +157,12 @@
 			<version>${commons.pool2.version}</version>
 			<scope>test</scope>
 		</dependency>
-		<dependency>
-			<groupId>com.microsoft.sqlserver</groupId>
-			<artifactId>sqljdbc4</artifactId>
-			<version>${sqljdbc4.version}</version>
-			<scope>test</scope>
-		</dependency>
+		<!--<dependency>-->
+			<!--<groupId>com.microsoft.sqlserver</groupId>-->
+			<!--<artifactId>sqljdbc4</artifactId>-->
+			<!--<version>${sqljdbc4.version}</version>-->
+			<!--<scope>test</scope>-->
+		<!--</dependency>-->
 		<dependency>
 			<groupId>org.postgresql</groupId>
 			<artifactId>postgresql</artifactId>

+ 66 - 59
mybatis-plus/src/main/java/com/baomidou/mybatisplus/generator/config/builder/ConfigBuilder.java

@@ -16,16 +16,12 @@
 package com.baomidou.mybatisplus.generator.config.builder;
 
 import java.io.File;
+import java.math.BigDecimal;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 import com.baomidou.mybatisplus.generator.config.ConstVal;
 import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
@@ -35,7 +31,6 @@ import com.baomidou.mybatisplus.generator.config.StrategyConfig;
 import com.baomidou.mybatisplus.generator.config.TemplateConfig;
 import com.baomidou.mybatisplus.generator.config.po.TableField;
 import com.baomidou.mybatisplus.generator.config.po.TableInfo;
-import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
 import com.baomidou.mybatisplus.generator.config.rules.DbType;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
 import com.baomidou.mybatisplus.generator.config.rules.QuerySQL;
@@ -414,8 +409,11 @@ public class ConfigBuilder {
 		ResultSet results = pstate.executeQuery();
 
 		List<TableField> fieldList = new ArrayList<TableField>();
+		TableField field;
+		Set<String> javaType;
 		while (results.next()) {
-			TableField field = new TableField();
+			field = new TableField();
+			javaType = new HashSet<String>();
 			String key = results.getString(querySQL.getFieldKey());
 			// 避免多重主键设置,目前只取第一个找到ID,并放到list中的索引为0的位置
 			boolean isId = StringUtils.isNotEmpty(key) && key.toUpperCase().equals("PRI");
@@ -434,7 +432,16 @@ public class ConfigBuilder {
 			}
 			field.setType(results.getString(querySQL.getFieldType()));
 			field.setPropertyName(processName(field.getName(), strategy));
-			field.setColumnType(processFiledType(field.getType()));
+			String propertyType = processFiledType(field.getType());
+			field.setPropertyType(propertyType);
+			if(propertyType!=null){
+				if(propertyType.equals(Date.class.getSimpleName())){
+					javaType.add(Date.class.getName());
+				}else if(propertyType.equals(BigDecimal.class.getSimpleName())){
+					javaType.add(BigDecimal.class.getName());
+				}
+			}
+			field.setJavaType(javaType);
 			field.setComment(results.getString(querySQL.getFieldComment()));
 			fieldList.add(field);
 		}
@@ -482,7 +489,7 @@ public class ConfigBuilder {
 	 *
 	 * @return 转换成JAVA包装类型
 	 */
-	private DbColumnType processFiledType(String type) {
+	private String processFiledType(String type) {
 		if (QuerySQL.MYSQL == querySQL) {
 			return processMySqlType(type);
 		} else if (QuerySQL.ORACLE == querySQL) {
@@ -492,7 +499,7 @@ public class ConfigBuilder {
 		} else if (QuerySQL.POSTGRE_SQL == querySQL) {
 			return processPostgreSQL(type);
 		}
-		return DbColumnType.STRING;
+		return null;
 	}
 
 	/**
@@ -535,32 +542,32 @@ public class ConfigBuilder {
 	 *            字段类型
 	 * @return JAVA类型
 	 */
-	private DbColumnType processMySqlType(String type) {
+	private String processMySqlType(String type) {
 		String t = type.toLowerCase();
 		if (t.contains("char") || t.contains("text")) {
-			return DbColumnType.STRING;
+			return "String";
 		} else if (t.contains("bigint")) {
-			return DbColumnType.LONG;
+			return "Long";
 		} else if (t.contains("int")) {
-			return DbColumnType.INTEGER;
+			return "Integer";
 		} else if (t.contains("date") || t.contains("time") || t.contains("year")) {
-			return DbColumnType.DATE;
+			return "Date";
 		} else if (t.contains("text")) {
-			return DbColumnType.STRING;
+			return "String";
 		} else if (t.contains("bit")) {
-			return DbColumnType.BOOLEAN;
+			return "Boolean";
 		} else if (t.contains("decimal")) {
-			return DbColumnType.BIG_DECIMAL;
+			return "BigDecimal";
 		} else if (t.contains("blob")) {
-			return DbColumnType.BYTE_ARRAY;
+			return "byte[]";
 		} else if (t.contains("float")) {
-			return DbColumnType.FLOAT;
+			return "Float";
 		} else if (t.contains("double")) {
-			return DbColumnType.DOUBLE;
+			return "Double";
 		} else if (t.contains("json") || t.contains("enum")) {
-			return DbColumnType.STRING;
+			return "String";
 		}
-		return DbColumnType.STRING;
+		return "String";
 	}
 
 	/**
@@ -572,27 +579,27 @@ public class ConfigBuilder {
 	 *            字段类型
 	 * @return JAVA类型
 	 */
-	private DbColumnType processOracleType(String type) {
+	private String processOracleType(String type) {
 		String t = type.toUpperCase();
 		if (t.contains("CHAR")) {
-			return DbColumnType.STRING;
+			return "String";
 		} else if (t.contains("DATE") || t.contains("TIMESTAMP")) {
-			return DbColumnType.DATE;
+			return "Date";
 		} else if (t.contains("NUMBER")) {
 			if (t.matches("NUMBER\\(+\\d{1}+\\)")) {
-				return DbColumnType.INTEGER;
+				return "Integer";
 			} else if (t.matches("NUMBER\\(+\\d{2}+\\)")) {
-				return DbColumnType.LONG;
+				return "Long";
 			}
-			return DbColumnType.DOUBLE;
+			return "Double";
 		} else if (t.contains("FLOAT")) {
-			return DbColumnType.FLOAT;
+			return "Float";
 		} else if (t.contains("BLOB")) {
-			return DbColumnType.OBJECT;
+			return "Object";
 		} else if (t.contains("RAW")) {
-			return DbColumnType.BYTE_ARRAY;
+			return "byte[]";
 		}
-		return DbColumnType.STRING;
+		return "String";
 	}
 
 	/**
@@ -603,30 +610,30 @@ public class ConfigBuilder {
 	 * @param type
 	 * @return
 	 */
-	private DbColumnType processSQLServerType(String type) {
+	private String processSQLServerType(String type) {
 		String t = type.toLowerCase();
 		if (t.contains("char") || t.contains("text") || t.contains("xml")) {
-			return DbColumnType.STRING;
+			return "String";
 		} else if (t.contains("bigint")) {
-			return DbColumnType.LONG;
+			return "Long";
 		} else if (t.contains("int")) {
-			return DbColumnType.INTEGER;
+			return "Integer";
 		} else if (t.contains("date") || t.contains("time")) {
-			return DbColumnType.DATE;
+			return "Date";
 		} else if (t.contains("text")) {
-			return DbColumnType.STRING;
+			return "String";
 		} else if (t.contains("bit")) {
-			return DbColumnType.BOOLEAN;
+			return "Boolean";
 		}else if (t.contains("decimal")||t.contains("numeric")){
-			return DbColumnType.DOUBLE;
+			return "Double";
 		}else if (t.contains("money")) {
-			return DbColumnType.BIG_DECIMAL;
+			return "BigDecimal";
 		} else if (t.contains("binary")||t.contains("image")) {
-			return DbColumnType.BYTE_ARRAY;
+			return "byte[]";
 		} else if (t.contains("float")||t.contains("real")) {
-			return DbColumnType.FLOAT;
+			return "Float";
 		}
-		return DbColumnType.STRING;
+		return "String";
 	}
 
 
@@ -639,32 +646,32 @@ public class ConfigBuilder {
 	 *            字段类型
 	 * @return JAVA类型
 	 */
-	private DbColumnType processPostgreSQL(String type) {
+	private String processPostgreSQL(String type) {
 		String t = type.toLowerCase();
 		if (t.contains("char") || t.contains("text")) {
-			return DbColumnType.STRING;
+			return "String";
 		} else if (t.contains("bigint")) {
-			return DbColumnType.LONG;
+			return "Long";
 		} else if (t.contains("int")) {
-			return DbColumnType.INTEGER;
+			return "Integer";
 		} else if (t.contains("date") || t.contains("time") || t.contains("year")) {
-			return DbColumnType.DATE;
+			return "Date";
 		} else if (t.contains("text")) {
-			return DbColumnType.STRING;
+			return "String";
 		} else if (t.contains("bit")) {
-			return DbColumnType.BOOLEAN;
+			return "Boolean";
 		} else if (t.contains("decimal")) {
-			return DbColumnType.BIG_DECIMAL;
+			return "BigDecimal";
 		} else if (t.contains("blob")) {
-			return DbColumnType.BYTE_ARRAY;
+			return "byte[]";
 		} else if (t.contains("float")) {
-			return DbColumnType.FLOAT;
+			return "Float";
 		} else if (t.contains("double")) {
-			return DbColumnType.DOUBLE;
+			return "Double";
 		} else if (t.contains("json") || t.contains("enum")) {
-			return DbColumnType.STRING;
+			return "String";
 		}
-		return DbColumnType.STRING;
+		return "String";
 	}
 
 	/**

+ 10 - 1
mybatis-plus/src/main/java/com/baomidou/mybatisplus/generator/config/po/TableField.java

@@ -18,6 +18,8 @@ package com.baomidou.mybatisplus.generator.config.po;
 import com.baomidou.mybatisplus.generator.config.StrategyConfig;
 import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
 
+import java.util.Set;
+
 /**
  * <p>
  * 表字段信息
@@ -33,7 +35,7 @@ public class TableField {
 	private String propertyName;
 	private DbColumnType columnType;
 	private String comment;
-
+	private Set<String> javaType;
 	public boolean isKeyFlag() {
 		return keyFlag;
 	}
@@ -100,4 +102,11 @@ public class TableField {
 		return propertyName.substring(0, 1).toUpperCase() + propertyName.substring(1);
 	}
 
+	public Set<String> getJavaType() {
+		return javaType;
+	}
+
+	public void setJavaType(Set<String> javaType) {
+		this.javaType = javaType;
+	}
 }

+ 21 - 9
mybatis-plus/src/main/resources/template/entity.java.vm

@@ -1,19 +1,29 @@
 package ${package.Entity};
 
+#if(${superEntityClassPackage})
+import ${superEntityClassPackage};
+#end
+#foreach($field in ${table.fields})
+#foreach($javaType in ${field.javaType})
+import ${javaType}
+#end
+#end
 #if(${activeRecord})
 import com.baomidou.mybatisplus.activerecord.Model;
 #end
-#foreach($pkg in ${table.importPackages})
-import ${pkg};
+#if(!${dbColumnUnderline})
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableField;
+#end
+#if(${tabeAnnotation})
+import com.baomidou.mybatisplus.annotations.TableName;
 #end
 import java.io.Serializable;
-
-
 /**
- * <p>
+ #if("$!table.comment" != "")* <p>
  * ${table.comment}
  * </p>
- *
+ #end*
  * @author ${author}
  * @since ${date}
  */
@@ -36,15 +46,17 @@ public class ${entity} implements Serializable {
 #if(${field.keyFlag})
 #set($keyPropertyName=${field.propertyName})
 #end
-#if(${field.comment})
+#if("$!field.comment" != "")
 	/**
 	 * ${field.comment}
 	 */
 #end
-#if(${field.convert})
 #if(${field.keyFlag})
-	@TableId(value="${field.name}")
+	@TableId#if(${field.convert})(value="${field.name}")
+#end
+
 #else
+#if(${field.convert})
 	@TableField(value="${field.name}")
 #end
 #end

+ 4 - 4
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/generator/MysqlGenerator.java

@@ -47,7 +47,7 @@ public class MysqlGenerator {
 
 		// 全局配置
 		GlobalConfig gc = new GlobalConfig();
-		gc.setOutputDir("D://");
+		gc.setOutputDir("/home/nieqiurong/");
 		gc.setFileOverride(true);
 		gc.setActiveRecord(true);
 		gc.setEnableCache(false);// XML 二级缓存
@@ -67,9 +67,9 @@ public class MysqlGenerator {
 		DataSourceConfig dsc = new DataSourceConfig();
 		dsc.setDbType(DbType.MYSQL);
 		dsc.setDriverName("com.mysql.jdbc.Driver");
-		dsc.setUsername("root");
-		dsc.setPassword("521");
-		dsc.setUrl("jdbc:mysql://127.0.0.1:3306/mybatis-plus?characterEncoding=utf8");
+		dsc.setUsername("nieqiurong");
+		dsc.setPassword("nieqiurong");
+		dsc.setUrl("jdbc:mysql://172.16.100.188:3306/mybatis-plus?characterEncoding=utf8");
 		mpg.setDataSource(dsc);
 
 		// 策略配置