1.リバースエンジニアリングされた何
MyBatisのの主要な機能は、SQLを書くために、プログラマが必要である、テーブルが多すぎるので、必然的に多くの問題が存在しますので、MyBatisの公式は、リバースエンジニアリングを自動的にMyBatisの単一のテーブルに対して実行生成することができます提供しますコードは(mapper.xml、mapper.java、POを含む。)が必要です。通常の開発では、リバースエンジニアリングのアプローチは、データベースによってコード表を生成するために使用されます。
2.リバースエンジニアリングの使用
2.1プロジェクトの新規作成
2.2インポートのjarパッケージ
MyBatisの発電機コア-1.3.5.jarアドレス:
https://github.com/mybatis/generator/releases
2.3定義ファイルgenerator.xml
<?XMLバージョン= "1.0"エンコード= "UTF-8" ?> <!DOCTYPE generatorConfiguration PUBLIC " - // mybatis.org//DTD MyBatisのジェネレーターの設定1.0 // EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" > < generatorConfiguration > < classPathEntry 場所= "E :/Jar/mysql-connector-java-5.1.46.jar」 /> < コンテキストID = "DB2Tables" targetRuntime = "MyBatis3" > < commentGenerator > <! - 是否去除自动生成的注释- > <値= "trueに" /> </ commentGenerator > <! - 情報MySQLデータベースの接続:ドライバー・クラス、接続アドレス、ユーザー名、パスワード- > < JDBCConnectionのdriverClass = "はcom.mysql.jdbc.Driver" connectionURL = " JDBC:MySQLの:// localhostを:3306 / MyBatisの" はuserId ="ルート" パスワード=" 123456 " > </ JDBCConnectionの> <! - デフォルトは、JDBCタイプNUMERIC DECIMAL falseで、整数に解決、真の JDBC DECIMALとNUMERIC型解像度がjava.math.BigDecimalのである- > < javaTypeResolver > <プロパティの名前は=「forceBigDecimals」値= "falseに" /> </ javaTypeResolver > <! - targetProject:生成する場所のエンティティクラス- > < javaModelGenerator targetPackage = "com.zhiyou.zyl.bean" targetProject = "./ SRC" > <! - enableSubPackages:接尾辞としてスキーマパッケージを許可するかどうか- > < プロパティ名=「enableSubPackages」値「真の」= /> <! - の前に、洗浄された後に、データベースの値スペースから返される- > < プロパティ名=「trimStrings」値= "trueに" /> </ javaModelGenerator > <! -targetProject:マッパー映射文件生成的位置- > < sqlMapGenerator targetPackage = "com.zhiyou.zyl.mapper" targetProject = "./ SRC" > < プロパティ名= "enableSubPackages" 値= "true"を /> </ sqlMapGenerator > <! - targetProject:マッパー接口生成的的位置- > < javaClientGeneratorのタイプ= "XMLMAPPER" targetPackage = "com.zhiyou.zyl.dao" targetProject = "./ SRC" > < プロパティ名=」enableSubPackages」 値= "true"を /> </ javaClientGenerator > <! - 指定数据表- > < テーブルスキーマは= "MyBatisの" tableNameの= "ユーザー" domainObjectName = "ユーザー" > < プロパティ名= "useActualColumnNames" 値= "true"を/> < generatedKey 列= "ID" のSQLStatement = "DB2" アイデンティティ= "真" /> < columnOverride 列= "DATE_FIELD" プロパティ= "たstartDate" /> < ignoreColumn 列= "FRED" /> < columnOverrideのカラム= "LONG_VARCHAR_FIELD" jdbcType = "VARCHAR" /> </ テーブル> </ コンテキスト> </ generatorConfiguration >
2.4作成したクラスは、xmlファイルを実行します
インポートのjava.io.File; 輸入はjava.util.ArrayList; 輸入はjava.util.List; 輸入org.mybatis.generator.api.MyBatisGenerator。 輸入org.mybatis.generator.config.Configuration。 輸入org.mybatis.generator.config.xml.ConfigurationParser。 輸入org.mybatis.generator.internal.DefaultShellCallback; パブリック クラスジェネレータは{ 公共 ボイド()ジェネレータスロー例外{ 一覧 <文字列>警告= 新しいのArrayList <文字列> (); ブール上書き= 真; // 指定逆向工程配置文件 たconfigFile =ファイルの新しいファイル( "generoter.xmlを" ); ConfigurationParserのCP = 新しいConfigurationParser(警告)。 コンフィギュレーション設定 = cp.parseConfiguration(たconfigFile)。 DefaultShellCallbackコールバック = 新しいDefaultShellCallback(上書き)。 MyBatisGenerator myBatisGenerator = 新しいMyBatisGenerator(設定、 コールバック、警告)。 myBatisGenerator.generate(NULL )。 } パブリック 静的 ボイドメイン(文字列[]引数)がスロー例外{ 試みる{ ジェネレータgeneratorSqlmap = 新しいジェネレータ()。 generatorSqlmap.generator(); } キャッチ(例外e){ e.printStackTrace(); } } }
2.5実行結果