如果使用过jQuery,一定会对它的链式写法念念不忘,因为它的确很方便。而我们在对Java对象赋值时往往会对多个属性赋值会不停调用setter方法,代码往往会很臃肿,所以写了一个数据Model的链式构建内部类来实现这种链式写法,具体实现可以参照我的mybatis-generator-plugin,下面是具体使用方法。

一、依然是在Mybatis Generator增加插件依赖(插件最新版本查看);

<!-- mybatis-generator 自动代码插件 -->
<plugin>
	<groupId>org.mybatis.generator</groupId>
	<artifactId>mybatis-generator-maven-plugin</artifactId>
	<version>1.3.5</version>
	<configuration>
		<!-- 配置文件 -->
		<configurationFile>src/main/resources/mybatis-generator.xml</configurationFile>
		<!-- 允许移动和修改 -->
		<verbose>true</verbose>
		<overwrite>true</overwrite>
	</configuration>
	<dependencies>
		<!-- jdbc 依赖 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.40</version>
		</dependency>
		<dependency>
			<groupId>com.itfsw</groupId>
			<artifactId>mybatis-generator-plugin</artifactId>
			<version>1.0.5</version>
		</dependency>
	</dependencies>
</plugin>

二、mybatis-generator.xml配置文件中增加插件配置;

<!-- 数据Model链式构建插件 -->
<plugin type="com.itfsw.mybatis.generator.plugins.ModelBuilderPlugin"/>

三、构建数据Model时直接new内部Builder类进行赋值构建;

public class Test {
    public static void main(String[] args) {
        // 直接new表Model的内部Builder类,赋值后调用build()方法返回对象
        Tb table = new Tb.Builder()
               .field1("xx")
               .field2("xx")
               .field3("xx")
               .field4("xx")
               .build();
    }
}