Mybatis [2]-複数のマッパーファイルと名前空間関数

ペクセル-ヨハン-大きい-1435075

複数のマッパーファイルと名前空間関数

複数のマッパーファイルがある場合はどうすればよいですか?また、名前空間は何ですか?
最初に、データベースステートメントの作成を見てみましょう。

#创建数据库
CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
#创建数据表
CREATE TABLE `student` ( `id` INT NOT NULL AUTO_INCREMENT , `name` VARCHAR(20) NOT NULL ,
`age` INT NOT NULL , `score` DOUBLE NOT NULL , PRIMARY KEY (`id`)) ENGINE = MyISAM;

ここで、Mybatisの実行プロセスを再説明する必要があります。まず、このファイルResources.getResourceAsStream("mybatis.xml")読み取りmybatis.xmlます。このファイルの構成は、プロジェクト全体と、実行中のデータベース環境(どのデータベースを使用するか)などのデータベースに関連する構成です。接続先、データベースサーバーのアドレス、ユーザー名、パスワード)、または外部構成ファイルの構成など。最も重要なことは、このファイルがマッピングファイル(マッパーファイル)登録されていることですSqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);sqlSessionFactory戻ってmybatis.xml、内部で読み取られた構成ファイルを読み取り、各構成ファイルによって読み取られたMapperマッピングファイルを1つずつopenSession()取得しsqlSessionます取得したインスタンスを使用する場合、たとえば、使用する場合はsqlSession.insert("insertStudent",student);、それぞれのsql構成ステートメントを検索します。マッパー、これは次のようになります:

<mapper namespace="mapper1">
    <insert id="insertStudent" parameterType="bean.Student">
        insert into student(name,age,score) values(#{name},#{age},#{score})
    </insert>
</mapper>

id同じものを見つけるだけで、多くの人が言うでしょう、区別が使用されているので、id私のマッパーファイルの名前空間属性は何のためのものですか?

同じものが2つ以上あるid場合は、名前空間を使用して区別する必要がありmapper.xmlます。ファイルが1つしかない場合はnamespace何でも書き込むことができます。使用する場合は、必要なだけですsqlSession.insert("insertStudent",student);。IDが同じであれば問題ありません。次に、必要です。使用するには:sqlSession.insert("mapper1.insertStudent",student);前に追加しnamspaceます。そうしないと、次のエラーが表示され、フルネームを使用してを含めるnamespaceか、を再定義するよう求められますid
一般に、idそれらは異なり、直接使用できるかid、同じですが同じではnamespaceなく、使用するときにnamespace区別しますそれ以外の場合は、次のエラーが報告されます。
Mybatis [2]-複数のマッパーファイルと名前空間関数

複数のマッパーファイルの場合、mybatis.xmlファイルに2つのファイルを登録する必要があります。

        <!-- 注册映射文件 -->
        <mappers>
            <mapper resource="mapper/mapper1.xml"/>
            <mapper resource="mapper/mapper2.xml"/>
        </mappers>

使用時に名前空間を追加します。
Mybatis [2]-複数のマッパーファイルと名前空間関数

この記事は、私自身(新人)の研究蓄積記録または研究ノートのみを表しています。侵害がある場合は、著者に連絡して削除してください。完璧な人はいないので、記事も未熟で、次の文章が苦手です。スプレーしないでください。間違いがあった場合は、指摘したいと思います。感謝しています〜

技術への道は一度ではなく、山は高く、川は長く、遅くても止まりません。
公開番号:秦淮食料品店

おすすめ

転載: blog.51cto.com/13604316/2668459