1. Qu'est-ce que MyBatis inverse ingénierie
Lorsque vous utilisez MyBatis, les programmeurs doivent écrire des instructions SQL par eux-mêmes. Le nombre d'instructions SQL pour les tables uniques est très grande. Le responsable de MyBatis fournit un outil pour générer un code d'exécution MyBatis basé sur des tables de base de données. Cet outil est une ingénierie inverse.
Ingénierie inverse: générer du code (Mapper.xml, mappper.java, pojo) pour les tables de base de données uniques - ->
MyBatis-Generator-core-1.3.2.jar - Package de noyau Jar requis pour le fonctionnement de l'ingénierie inverse
2. Configurer le fichier de configuration pour l'ingénierie inverse
Générateur de fichiers de configurationconfig.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"> <GeneratorConcure> < DriverClass = "com.mysql.jdbc.Driver" ConnectionUrl = "jdbc: mysql: // localhost: 3306 / mybatis" userid = "root" mot de passe = "123"> </ jdbcconnection> <! - <jdbcconnection DriverClass = "oracle.jdbc.oracledriver" ConnectionUrl = "JDBC: Oracle: mince: @ 127.0.0.1: 1521: yycg" userId = "yycg" password = "yycg"> </ jdbcconnection> -> <! - Par défaut, Parse the JDBC Decimal et Numric Types à Java.Mava.bigdec. -> <javatyperesolver> <propriété name = "ForceBigDecimals" value = "false" /> </ javatyperesolver> <! - TargetProject: l'emplacement où la classe PO est générée -> <javamodelgenerator targetpackage = "cn.zm.mybatis.po" TargetProject = "./ Src"> <! Le schéma soit utilisé comme suffixe du package -> <propriété name = "ActiveBpackages" value = "false" /> <! - Espace avant et après la valeur renvoyée de la base de données est nettoyée -> <propriété name = "trimStrings" value = "true" /> </ javamodelGenerator> <! - TargetProject: l'emplacement où le fichier de cartographie du maxim TargetPackage = "cn.zm.mybatis.mapper" TargetProject = "./ Src"> <! - ActiveBpackages: Que vous utilisez le schéma comme suffixe du pack type = "xmlmapper" targetpackage = "cn.zm.mybatis.mapper" cibleProject = "./ src"> <! - AutantUbPackages: que ce soit pour utiliser le schéma comme suffixe du package -> <propriété Name = "ActiveBpackages" Value = "False" /> </ JavaClientGenerator> <! - Spective DataBase Table -> <! tableName = "items"> </ table> <! - <table tableName = "Orders"> </ Table> <Table TableName = "OrderDetail"> </ Table> <Table TableName = "User"> </ Table> -> <! - <Table Schema = "" TableName = "SYS_USER"> </ Table> Table schema = "" tableName = "sys_user_role"> </ table> <table schema = "" tableName = "sys_role_permission"> </ table> -> <! - Certains champs de table nécessitent Java Type <Table Schema = "" TableName = ""> <ColumnOverride Column = "" Javatype = "" /> </ Table> </ context> </peneratorConfiguration>
3. Exécuter l'ingénierie inverse pour générer du code
Exécuter la méthode de la classe Java:
Le code généré est le suivant:
4. Copiez le code généré sur le projet du système commercial pour tester
classe publique itemsMappentTest {private applicationContext applicationContext; Private Itemsmapper ItemsMapper; @Before public void setup () lève une exception {applicationContext = new ClassPathXmlApplicationContext ("ClassPath: ApplicationContext.xml"); itemsMapper = (itemsmapper) applicationContext.getBean ("itemsMapper"); } // Supprimer la clé primaire racine @test public void DeleteByPrimaryKey () {itemsMapper.DeleteByprimaryKey (4); } @Test public void insert () {} @test public void SelectByExample () {itemSexample itemSExample = new ItemSexample (); ItemSExample.Criteria Critères = itemSexample.CreateCriteria (); // Utiliser les critères pour personnaliser les conditions de requête Critères.AndNameEqualto ("Water Cup"); critères.Andidequalto (1); List <émiers> list = itemsMapper.SelectByExample (itemSExample); System.out.println (liste); } @Test public void SelectByPrimaryKey () {items items = itemsMapper.SelectByprimaryKey (1); System.out.println (éléments); } @Test public void updateByPrimaryKey () {}}Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.