ホームページ Java &#&チュートリアル MyBatis 入門 (7) --- リバース エンジニアリング

MyBatis 入門 (7) --- リバース エンジニアリング

Dec 21, 2016 pm 02:37 PM

1. リバースエンジニアリング

1.1、概要

mybatis にはプログラム番号で記述された SQL が必要です。

mybatisは、単一のテーブルに対するmybatisの実行に必要なコードを自動生成できるリバースエンジニアリングを公式に提供しています

(mapper、java、maper.xml、po...)

一般的に、データベースからJavaコードへ生成されます。 . プロセス

2. jar パッケージ

2.1、mybatis-generator

MyBatis 入門 (7) --- リバース エンジニアリング3.1、generatorConfig.xml を設定します。

br/>PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http:/ / /mybatis.org/dtd/mybatis-generator-config_1_0.dtd">



"
"
" " " & gt; l & lt;/jdbcoconnection & gt;
& lt;-default False、JDBC Decimal と NUMERIC を True と同様に分析します、JDBC Decimal
および Numeric Types は java.math に解析されます。 ;javaModelGenerator targetPackage=" com.mybatis.po "
ターゲットプロジェクト =".src "& gt; lt; プロパティ名 ="enableSubpackages "value =" false " /& gt;


!--enableSubPackages: 使用するかどうかパッケージのサフィックスとしてのスキーマ -->
-> =" XMLMAPPER"
targetPackage="com.pb.mybatis.mapper" age" value="false" />
" " ="ブログ">
" "




4. Java プログラムを実行して

4.1、Java プログラム


を生成します。

import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.mybatis.generator.api.MyBatisGenerator;import org.mybatis.generator.config.Configuration ;import org.mybatis.generator.config.xml.ConfigurationParser;import org.mybatis.generator.Exception.XMLParserException;import org.mybatis.generator.internal.DefaultShellCallback;public class GeneratorSqlmap { public voidgenerator() throws Exception{

リスト警告 = 新しい ArrayList();        ブール値の上書き = true;        // 逆方向工程構成文件を指定
File configFile = new File("generatorConfig.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGen erator = new MyBatisGenerator(config,
コールバック, 警告);
myBatisGenerator.generate (null);

}
public static void main(String[] args) throws Exception { try {
GeneratorSqlmapgeneratorSqlmap = new GeneratorSqlmap();
generatorSqlmap.generator( );
} catch (例外 e) {
e. printStackTrace();
}

}


MyBatis 入門 (7) --- リバース エンジニアリング

五、测试

5.1、测试类

パッケージ com.pb.ssm.mapper;import static org.junit.Assert.fail;import java.util.Date;import java.util.List;import javax.crypto.Cipher;import org.junit.Before;import org .junit.Test;import org.springframework.context.applicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.pb.ssm.po.Author;import com.pb.ssm.po.AuthorExample;import com. pb.ssm.po.AuthorExample.Criteria;public class AuthorMapperTest { private ApplicationContext applicationContext;    private AuthorMapper authorMapper;

@Before public void setUp() throws Exception {
applicationContext=new ClassPathXmlApplicationContext("ApplicationContext.xml");
authorMapper=(AuthorMapper) applicationContext.getBean("authorMapper");
}
//根元条件查询记录数 @Test public void testCountByExample() {
AuthorExample example=new AuthorExample();        // 条件を追加できます、条件を追加できませんすべて
Criteria criteria=example.createCriteria();        //追加条件、介绍不是空的 criteria.andAuthorBioIsNotNull();        int num=authorMapper.countByExample(example);
System.out.println("num="+num);
}
// 条件删除 @Test public void testDeleteByExample() {
AuthorExample example=new AuthorExample();        // 追加条件、不追加条件默认查询全部
Criteria criteria=example.createCriteria();
criteria.andAuthorUsernameEqualTo("程序员");        int num=authorMapper.deleteByExample(example);
System.out.println("num="+num);

}
//主键ID删除 @Test public void testDeleteByPrimaryKey() { int num=authorMapper.deleteByPrimaryKey( 18);
System.out.println("num="+num);
} //插入 @Test public void testInsert() {

作成者 author=new Author();
author.setAuthorUsername( 「再测试一下」 ");
author.setAuthorPassword("admin123");
author.setAuthorEmail("admin1234@QQ.com");        

int num=authorMapper.insert(author);
System.out.println("num="+num);        //この方法の插入、默认はデータ库自追加IDを返します、必要に応じて手動で追加できます
System.out.println("插入後のID"+author.getAuthorId());

} //插入@ Test public void testInsertSelective() {
著者 author=new Author();
author.setAuthorUsername("再测试一下");
author.setAuthorPassword("admin123");
author.setAuthorEmail("admin123) 4@qq.com」 );
author.setRegisterTime(new Date());        

int num=authorMapper.insert(author);
System.out.println("num="+num);        //この方法の插入、默认はデータセットの自動追加IDを返しません、必要に応じて手動で追加できます
System.out.println("插入後のID"+author.getAuthorId());

} //自動設定条件查询 @Test public void testSelectByExample() { //一个对象
AuthorExample authorExample=new AuthorExample();        //创建基準对象追加条件と接
Criteria criteria=authorExample.createCriteria();        // 必要手動加%
criteria.andAuthorUsernameLike("%张三%");

List list=authorMapper.selectByExample(authorExample);
System.out.println(list.size());
}
//主キー ID に基づくクエリ @Test public void testSelectByPrimaryKey() {
著者 author= Mapper.selectByPrimaryKey(6);
System.out.println(author.getAuthorUsername()+"..."+author.getAuthorBio());
}

@Test public void testUpdateByExampleSelective() {
failed("まだ実装されていません ");
}

@Test public void testUpdateByExample() {
failed("まだ実装されていません");
}

@Test public void testUpdateByPrimaryKeySelective() {
failed( "まだ実装されていません");
}

@Test public void testUpdateByPrimaryKey() {
failed("まだ実装されていません");
}

}

以上が MyBatis 入門 (7)---リバースエンジニアリングの内容です。関連コンテンツについては、PHP Chinese Net (www.php.cn) にご注目ください。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

iBatis と MyBatis: どちらがあなたにとって優れていますか? iBatis と MyBatis: どちらがあなたにとって優れていますか? Feb 19, 2024 pm 04:38 PM

iBatis と MyBatis: どちらを選択するべきですか?はじめに: Java 言語の急速な発展に伴い、多くの永続化フレームワークが登場しました。 iBatis と MyBatis は 2 つの人気のある永続化フレームワークであり、どちらもシンプルで効率的なデータ アクセス ソリューションを提供します。この記事では、iBatis と MyBatis の機能と利点を紹介し、適切なフレームワークを選択するのに役立つ具体的なコード例をいくつか示します。 iBatis の紹介: iBatis はオープンソースの永続化フレームワークです。

MyBatis動的SQLタグのSetタグ機能の詳細説明 MyBatis動的SQLタグのSetタグ機能の詳細説明 Feb 26, 2024 pm 07:48 PM

MyBatis 動的 SQL タグの解釈: Set タグの使用法の詳細な説明 MyBatis は、豊富な動的 SQL タグを提供し、データベース操作ステートメントを柔軟に構築できる優れた永続層フレームワークです。このうち、Set タグは、UPDATE ステートメントで SET 句を生成するために使用され、更新操作でよく使用されます。この記事では、MyBatis での Set タグの使用法を詳細に説明し、特定のコード例を通じてその機能を示します。 SetタグとはMyBatiで使用するSetタグです。

MyBatis でバッチ削除操作を実装するさまざまな方法 MyBatis でバッチ削除操作を実装するさまざまな方法 Feb 19, 2024 pm 07:31 PM

MyBatis でバッチ削除ステートメントを実装するいくつかの方法には、特定のコード例が必要です。近年、データ量の増加により、バッチ操作がデータベース操作の重要な部分になっています。実際の開発では、データベース内のレコードを一括で削除する必要が生じることがよくあります。この記事では、MyBatis でバッチ削除ステートメントを実装するいくつかの方法に焦点を当て、対応するコード例を示します。 foreach タグを使用してバッチ削除を実装します。MyBatis は、セットを簡単に横断できる foreach タグを提供します。

JPAとMyBatisの機能・性能の比較分析 JPAとMyBatisの機能・性能の比較分析 Feb 19, 2024 pm 05:43 PM

JPA と MyBatis: 機能とパフォーマンスの比較分析 はじめに: Java 開発では、永続化フレームワークが非常に重要な役割を果たします。一般的な永続化フレームワークには、JPA (JavaPersistenceAPI) や MyBatis などがあります。この記事では、2 つのフレームワークの機能とパフォーマンスを比較分析し、具体的なコード例を示します。 1. 機能の比較: JPA: JPA は JavaEE の一部であり、オブジェクト指向のデータ永続化ソリューションを提供します。アノテーションまたはXが渡されます

MyBatis バッチ削除ステートメントの使用方法の詳細な説明 MyBatis バッチ削除ステートメントの使用方法の詳細な説明 Feb 20, 2024 am 08:31 AM

MyBatis バッチ削除ステートメントの使用方法の詳細な説明には、特定のコード例が必要です はじめに: MyBatis は、豊富な SQL 操作機能を提供する優れた永続層フレームワークです。実際のプロジェクト開発では、データを一括で削除する必要がある場面に遭遇することがよくあります。この記事では、MyBatis のバッチ削除ステートメントの使用方法を詳しく紹介し、具体的なコード例を添付します。使用シナリオ: データベース内の大量のデータを削除する場合、削除ステートメントを 1 つずつ実行するのは非効率です。このとき、MyBatisの一括削除機能が利用できます。

MyBatisのキャッシュ機構を解析:一次キャッシュと二次キャッシュの特徴と使い方を比較 MyBatisのキャッシュ機構を解析:一次キャッシュと二次キャッシュの特徴と使い方を比較 Feb 25, 2024 pm 12:30 PM

MyBatis のキャッシュ メカニズムの分析: 1 次キャッシュと 2 次キャッシュの違いと応用 MyBatis フレームワークでは、キャッシュはデータベース操作のパフォーマンスを効果的に向上させることができる非常に重要な機能です。そのうち、一次キャッシュと二次キャッシュは、MyBatis でよく使用される 2 つのキャッシュ メカニズムです。この記事では、一次キャッシュと二次キャッシュの違いと用途を詳細に分析し、具体的なコード例を示して説明します。 1. レベル 1 キャッシュ レベル 1 キャッシュはローカル キャッシュとも呼ばれ、デフォルトで有効になっており、オフにすることはできません。 1次キャッシュはSqlSesです

MyBatis Generator 設定パラメータの解釈とベスト プラクティス MyBatis Generator 設定パラメータの解釈とベスト プラクティス Feb 23, 2024 am 09:51 AM

MyBatisGenerator は、MyBatis が公式に提供するコード生成ツールで、開発者がデータベース テーブル構造に準拠した JavaBeans、Mapper インターフェイス、および XML マッピング ファイルを迅速に生成するのに役立ちます。コード生成に MyBatisGenerator を使用するプロセスでは、構成パラメーターの設定が重要です。この記事では、構成パラメータの観点から開始し、MyBatisGenerator の機能を詳しく説明します。

MyBatis の 1 対多のクエリ構成の詳細な説明: 関連する一般的なクエリの問題の解決 MyBatis の 1 対多のクエリ構成の詳細な説明: 関連する一般的なクエリの問題の解決 Feb 22, 2024 pm 02:18 PM

MyBatis の 1 対多のクエリ構成の詳細な説明: 一般的な関連クエリの問題を解決するには、特定のコード例が必要です。実際の開発作業では、マスター エンティティ オブジェクトとそれに関連付けられた複数のスレーブ エンティティ オブジェクトをクエリする必要がある状況によく遭遇します。 。 MyBatis では、1 対多のクエリが一般的なデータベース関連付けクエリであり、適切な設定を行うことで、関連付けられたオブジェクトのクエリ、表示、操作を簡単に実現できます。この記事では、MyBatis での 1 対多のクエリの構成方法と、関連するクエリに関する一般的な問題の解決方法を紹介します。

See all articles