当前位置:网站首页>MBG combat zero basis
MBG combat zero basis
2022-07-04 10:53:00 【Eric%258436】
** If there is a mistake , Thank you for correcting **
If there is a mistake , Thank you for correcting , Please send a private message to the blogger , There is a red envelope for hard work , Worship “ one-word teacher ”.
Please find the paragraphs you need according to the table of contents
Introduction : This blog is organized for individuals Java Learning notes , If there is a mistake , Thank you for correcting . System learning , Welcome to continue to pay attention , Follow up updates
Java communication qq Group 383245788
This article aims to learn and communicate , personal crud The learning
This paper makes a lot of references MBG Official website :http://mybatis.org/generator/
MBG Doing it ssm Small demo Can be used when , convenient ,MP You can also do , And do better ,MBG It is suggested to just understand .
MBG brief introduction
MyBatis Generator (MBG) yes MyBatis Code generator for . It will be for all versions of MyBatis The generated code . It will introspect a database table ( Or more tables ) And generate artifacts that can be used to access tables . This reduces the initial hassle of setting up objects and configuration files to interact with database tables .MBG Try to be simple about a lot CRUD( establish 、 retrieval 、 to update 、 Delete ) Has a significant impact on database operations . You still need to write... For connection queries or stored procedures SQL And object code .
MBG Generate code in different styles and languages , It depends on how it is configured . for example ,MBG Can generate Java or Kotlin Code .MBG Can generate and MyBatis3 Compatible XML - Although it is now considered MBG Legacy uses . Newer styles of generated code do not need XML.
xml
<?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">
<commentGenerator>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/ssm_mdsp"
userId="root"
password="root">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- Appoint javaBean The location of the generation -->
<javaModelGenerator targetPackage="top.atluofu.pojo"
targetProject=".\src\main\java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- Appoint sql Map where the file is generated -->
<sqlMapGenerator targetPackage="mapper" targetProject=".\src\main\resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- Appoint dao Where the interface is generated ,mapper Interface -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="top.atluofu.mapper" targetProject=".\src\main\java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- table Specify the generation strategy for each table -->
<table tableName="order" domainObjectName="Order">
</table>
<table tableName="role" domainObjectName="Role">
</table>
<table tableName="trade" domainObjectName="Trade">
</table>
<table tableName="user" domainObjectName="User">
</table>
</context>
</generatorConfiguration>
xml Reference configuration
- classPathEntry: Specify drive
Such as <classPathEntry location="/Program Files/IBM/SQLLIB/java/db2java.zip" />- commentGenerator: Commenter , Generate annotations , As noted in the table , Column comment , Time stamps, etc
Start class
Use xml Configure from Java The program runs MBG
public class MBG {
@Test
public static void main(String[] args) throws XMLParserException, IOException, InvalidConfigurationException, SQLException, InterruptedException {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("src/main/resources/mbg.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
}
}
边栏推荐
- /*Rewrite the program, find the value of the element, and return the iterator 9.13: pointing to the found element. Make sure that the program works correctly when the element you are looking for does
- Pod management
- C language structure to realize simple address book
- Snake (C language)
- How to use diff and patch to update the source code
- 2022 ape circle recruitment project (software development)
- [Galaxy Kirin V10] [server] soft RAID configuration
- Canoe: the difference between environment variables and system variables
- Postman interface test
- Strings and characters
猜你喜欢
VLAN part of switching technology
Remove linked list elements
Canoe test: two ways to create CAPL test module
Article publishing experiment
What is an excellent architect in my heart?
[Galaxy Kirin V10] [server] NUMA Technology
Quick sort (C language)
IPv6 comprehensive experiment
Open the neural network "black box"! Unveil the mystery of machine learning system with natural language
20 minutes to learn what XML is_ XML learning notes_ What is an XML file_ Basic grammatical rules_ How to parse
随机推荐
Two way process republication + routing policy
Quick sort (C language)
MPLS: multi protocol label switching
Canoe the second simulation engineering xvehicle 3 CAPL programming (operation)
Network connection (III) functions and similarities and differences of hubs, switches and routers, routing tables and tables in switches, why do you need address translation and packet filtering?
[testing theory] thinking about testing profession
/*Rewrite the program, find the value of the element, and return the iterator 9.13: pointing to the found element. Make sure that the program works correctly when the element you are looking for does
/*Write a function to open the file for input, read the contents of the file into the vector container of string class 8.9: type, and store each line as an element of the container object*/
Si vous ne connaissez pas ces quatre modes de mise en cache, vous osez dire que vous connaissez la mise en cache?
Canoe - the third simulation project - bus simulation - 2 function introduction, network topology
Day7 list and dictionary jobs
/*Write a loop to output the elements of the list container in reverse order*/
DCL statement of MySQL Foundation
What is an excellent architect in my heart?
Rhsca day 11 operation
Evolution from monomer architecture to microservice architecture
Collection of practical string functions
Const's constant member function after the function; Form, characteristics and use of inline function
Dictionaries and collections
Huge number multiplication (C language)