MyBatis Generator configuration parameter interpretation and best practices
Feb 23, 2024 am 09:51 AMMyBatis Generator is a code generation tool officially provided by MyBatis, which can help developers quickly generate Java Beans, Mapper interfaces and XML mapping files that conform to the database table structure. In the process of using MyBatis Generator for code generation, the setting of configuration parameters is crucial. This article will delve into the best practices of MyBatis Generator from the perspective of configuration parameters and provide readers with specific code examples.
1. Configuration file description
Before using MyBatis Generator for code generation, you need to write a configuration file named generatorConfig.xml
to guide the generation of code. Behavior. The following is a simple configuration file example:
<?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> <context id="DB2Tables" targetRuntime="MyBatis3"> <!-- 數(shù)據(jù)庫(kù)連接信息 --> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test" userId="root" password="123456"> </jdbcConnection> <!-- 實(shí)體類、Mapper接口、XML映射文件生成路徑 --> <javaModelGenerator targetPackage="com.example.model" targetProject="src/main/java"> </javaModelGenerator> <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"> </sqlMapGenerator> ? ? ? ?<!-- Mapper接口的生成 --> ? ? ? ?<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="src/main/java"> ? ? ? ?</javaClientGenerator> ? ? ? ?<!-- 數(shù)據(jù)庫(kù)表及生成的代碼配置 --> ? ? ? ?<table tableName="user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> ? ? ? ?</table> </context> </generatorConfiguration>
In the above configuration file, we define the database connection information, generated entity class, Mapper interface and XML mapping file path, and set the database table to generate code and related configurations.
2. Configuration parameter analysis
In the configuration file, there are some key configuration parameters that require our special attention. They play a decisive role in the effect and quality of the generated code. Let’s parse these parameters one by one:
(1)jdbcConnection
jdbcConnection
node is used to configure database connection information, including database driver class, connection URL, username and password, etc. In actual applications, you need to make corresponding modifications according to your own database configuration.
(2)javaModelGenerator
javaModelGenerator
The node is used to configure the package name and storage path of the generated entity class (Java Bean). By setting the targetPackage
and targetProject
parameters, we can specify the generation path of the entity class.
(3)sqlMapGenerator
sqlMapGenerator
node is used to configure the package name and storage path of the generated XML mapping file. Similarly, we can specify the generation path of the XML mapping file by setting the targetPackage
and targetProject
parameters.
(4)javaClientGenerator
javaClientGenerator
node is used to configure the package name and storage path of the generated Mapper interface. By setting the type
parameter to XMLMAPPER
, you can specify to generate a Mapper interface based on XML configuration.
(5)table
table
The node is used to configure the database table information for generating code, including table name, generated entity class name, Whether to enable specific query methods, etc. You can control the behavior of generated code by setting different properties.
3. Best Practices
When using MyBatis Generator to generate code, we can follow the following best practices:
(1) Keep the configuration file concise and clear
Try to avoid adding too many configurations to the configuration file, and you can flexibly adjust the scope and content of the generated code according to project needs. At the same time, configuration files with clear comments and simple structure help code maintenance and management.
(2) Select the generated object according to actual needs
In the table
node, you can choose whether to enable certain query methods according to specific needs to reduce the redundancy of generation code. For example, if you do not need to use the selectByExample
method, you can disable it by setting enableSelectByExample="false"
.
(3) Add custom plug-in
In addition to the default generation rules, we can also write custom plug-ins to extend the functionality of MyBatis Generator. By writing plug-ins, you can achieve a more flexible code generation strategy that better meets project needs.
4. Code example
The following is a complete example showing how to use MyBatis Generator to generate a simple User entity class and the corresponding Mapper interface and XML mapping file:
public class User { private Long id; private String username; private String password; // Getters and setters }
public interface UserMapper { int insert(User record); int deleteByPrimaryKey(Long id); int updateByPrimaryKey(User record); User selectByPrimaryKey(Long id); }
<?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.example.mapper.UserMapper"> <resultMap id="BaseResultMap" type="User"> <id column="id" property="id" /> <result column="username" property="username" /> <result column="password" property="password" /> </resultMap> <insert id="insert" parameterType="User"> INSERT INTO user (id, username, password) VALUES (#{id}, #{username}, #{password}) </insert> <!-- 其他SQL語(yǔ)句 --> </mapper>
Conclusion
Through the introduction of this article, readers should have a deeper understanding of the configuration parameters of MyBatis Generator and understand the best practices. In actual projects, by setting configuration parameters appropriately and using custom plug-ins flexibly, the MyBatis Generator tool can be used more efficiently to generate code that meets project requirements. I hope this article will be helpful to readers when using MyBatis Generator.
The above is the detailed content of MyBatis Generator configuration parameter interpretation and best practices. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

When developing a project that requires parsing SQL statements, I encountered a tricky problem: how to efficiently parse MySQL's SQL statements and extract the key information. After trying many methods, I found that the greenlion/php-sql-parser library can perfectly solve my needs.

In MySQL, add fields using ALTERTABLEtable_nameADDCOLUMNnew_columnVARCHAR(255)AFTERexisting_column, delete fields using ALTERTABLEtable_nameDROPCOLUMNcolumn_to_drop. When adding fields, you need to specify a location to optimize query performance and data structure; before deleting fields, you need to confirm that the operation is irreversible; modifying table structure using online DDL, backup data, test environment, and low-load time periods is performance optimization and best practice.

phpMyAdmin can be used to create databases in PHP projects. The specific steps are as follows: Log in to phpMyAdmin and click the "New" button. Enter the name of the database you want to create, and note that it complies with the MySQL naming rules. Set character sets, such as UTF-8, to avoid garbled problems.

phpMyAdmin is not just a database management tool, it can give you a deep understanding of MySQL and improve programming skills. Core functions include CRUD and SQL query execution, and it is crucial to understand the principles of SQL statements. Advanced tips include exporting/importing data and permission management, requiring a deep security understanding. Potential issues include SQL injection, and the solution is parameterized queries and backups. Performance optimization involves SQL statement optimization and index usage. Best practices emphasize code specifications, security practices, and regular backups.

JDBC...

The SQL INSERT statement is used to insert data into a table. The steps include: specify the target table to list the columns to be inserted. Specify the value to be inserted (the order of values ??must correspond to the column name)

The methods to check SQL statements are: Syntax checking: Use the SQL editor or IDE. Logical check: Verify table name, column name, condition, and data type. Performance Check: Use EXPLAIN or ANALYZE to check indexes and optimize queries. Other checks: Check variables, permissions, and test queries.

Detailed explanation of PostgreSQL database resource monitoring scheme under CentOS system This article introduces a variety of methods to monitor PostgreSQL database resources on CentOS system, helping you to discover and solve potential performance problems in a timely manner. 1. Use PostgreSQL built-in tools and views PostgreSQL comes with rich tools and views, which can be directly used for performance and status monitoring: pg_stat_activity: View the currently active connection and query information. pg_stat_statements: Collect SQL statement statistics and analyze query performance bottlenecks. pg_stat_database: provides database-level statistics, such as transaction count, cache hit
