Bài viết này hướng dẫn cách sử dụng Maven để tạo mã nguồn và tệp ánh xạ cho MyBatis.
I. Cấu tệp pom.xml của Maven
Thêm plugin sau vào pom.xml:
<build>
<finalName>demonhvan</finalName>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
</plugins>
</build>
Sau khi cấu hình Maven plugin, chúng ta cần tạo tệp cấu hình cho plugin.
II. Trong dự án Maven, tạo tệp generatorConfig.xml và generator.properties trong thư mục src/main/resources
Nội dung của tệp generatorConfig.xml:
<?xml version="1.0" encoding="UTF-8"?>
<generatorConfiguration>
<!--Import cấu hình thuộc tính-->
<properties resource="generator.properties"></properties>
<!--Chỉ định vị trí của jdbc driver jar cho cơ sở dữ liệu cụ thể-->
<classPathEntry location="${jdbc.driverLocation}"/>
<context id="default" targetRuntime="MyBatis3">
<!--Tùy chọn, kiểm soát việc tạo ghi chú khi tạo class-->
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--Kết nối cơ sở dữ liệu jdbc-->
<jdbcConnection
driverClass="${jdbc.driverClass}"
connectionURL="${jdbc.connectionURL}"
userId="${jdbc.userId}"
password="${jdbc.password}">
</jdbcConnection>
<!--Không bắt buộc, bộ xử lý kiểu, kiểm soát chuyển đổi giữa kiểu database và kiểu java-->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--Bộ tạo Model, tạo class chứa khóa chính key, class ghi và class Example
targetPackage chỉ định tên gói chứa model được tạo
targetProject chỉ định đường dẫn trong dự án
-->
<javaModelGenerator targetPackage="com.example.demo.model"
targetProject="src/main/java">
<!--Cho phép gói con, tức là targetPackage.schemaName.tableName -->
<property name="enableSubPackages" value="false"/>
<!--Thêm constructor cho model -->
<property name="constructorBased" value="true"/>
<!--Trim dữ liệu của cột kiểu CHAR trong model -->
<property name="trimStrings" value="true"/>
<!--Model có thể thay đổi hay không (không có setter) -->
<property name="immutable" value="false"/>
</javaModelGenerator>
<!--Thư mục chứa tệp ánh xạ Mapper, tạo tệp SqlMap cho mỗi bảng database -->
<sqlMapGenerator targetPackage="com.example.demo.mapper"
targetProject="src/main/java">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!--Mã nguồn client, tạo mã dễ sử dụng cho Model và tệp cấu hình XML
type="ANNOTATEDMAPPER", tạo Java Model và Mapper dựa trên annotation
type="MIXEDMAPPER", tạo Java Model dựa trên annotation và Mapper tương ứng
type="XMLMAPPER", tạo tệp SQLMap XML và Mapper interface riêng
-->
<javaClientGenerator targetPackage="com.example.demo.dao"
targetProject="src/main/java" type="XMLMAPPER">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
</context>
</generatorConfiguration>
Nội dung của tệp generator.properties:
jdbc.driverLocation=D:\\database\\mysql-connector-java\\8.0.25\\mysql-connector-java-8.0.25.jar Vị trí jar của database, lưu ý dùng dấu //
jdbc.driverClass=com.mysql.cj.Driver Driver của database
jdbc.connectionURL=jdbc:mysql:///demo Địa chỉ IP của database
jdbc.userId=admin Tên người dùng
jdbc.password=admin123 Mật khẩu
III. Thêm tệp chạy trong IntelliJ IDEA
Click vào menu Edit Configurations, sau đó click dấu + và chọn Maven.
Trong ô Name và Command line điền thông tin tương ứng, apply và ok.
Cuối cùng click vào generator để tạo model, mapper, dao.
Kết quả tạo mã nguồn tự động: