MyBatis学習ノート(一)
6963 ワード
Demoのディレクトリ構造をテストします.
テストデータベースはMySQLで、使用するデータベース接続はJDBCで、上のディレクトリ構造の中でMyBatisConfig.xmlはMyBatisのコアプロファイル、userMapperです.xmlはSQL文をマッピングするために使用されます.ここでのマッピングは、注釈を使用せずにmxlファイルを構成するために使用されます.これは、多くの複雑な状況でxmlファイルを使用して構成されるため、プログラムがきれいに見え、プログラミングがより効率的になります.
コアプロファイルのxmlファイルは次のとおりです.
ファイル:MyBatisConfig.xml
各environmentは各データベースに対応しており、ここのデータは私のブログのデータベースをテストとして使用しています.下のmapperタグはSQL文のファイルパスをマッピングするためのもので、ここではディレクトリ構造からuserMapperを見る.xmlから見ると経路はcom/luohao/config/userMapperであるべきである.xml.
その後、SQL文のみがマッピングされ、ファイルはuserMapperです.xml
ここのネーミングスペースは必須ですが、これはMyBatisが新しい特性であり、コードと家を厳格にする特性です.
id用は識別で、その後のjavaコードにこれが現れます.paramterTypeはデータ型に対応するために使用されます.ここではusernameで、Stringクラスに対応しています.resultTypeはインスタンスクラスでもモデルクラスとも呼ばれ、データベースSQL文で得られたパラメータを実行するためのgetまたはsetメソッドです.
その後のデータベース文はほぼ一致しますが、#番号の後のjavaコードには検索するものが挿入されます.次はjavaコードです.
その後のuserクラスはあまり言わず、getとsetメソッドです.
これは簡単なMyBatisのDemoです.
com.luohao.config
->MyBatisCongfig.xml
->userMapper.xml
com.luohao.Test
->TestMyBatis.class
->User.class
テストデータベースはMySQLで、使用するデータベース接続はJDBCで、上のディレクトリ構造の中でMyBatisConfig.xmlはMyBatisのコアプロファイル、userMapperです.xmlはSQL文をマッピングするために使用されます.ここでのマッピングは、注釈を使用せずにmxlファイルを構成するために使用されます.これは、多くの複雑な状況でxmlファイルを使用して構成されるため、プログラムがきれいに見え、プログラミングがより効率的になります.
コアプロファイルのxmlファイルは次のとおりです.
ファイル:MyBatisConfig.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE configuration
3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
4 "http://mybatis.org/dtd/mybatis-3-config.dtd">
5 <configuration>
6 <environments default="development">
7 <environment id="development">
8 <transactionManager type="JDBC"/>
9 <dataSource type="POOLED">
10 <property name="driver" value="com.mysql.jdbc.Driver"/>
11 <property name="url" value="jdbc:mysql://localhost:3306/blogtest"/>
12 <property name="username" value="root"/>
13 <property name="password" value="*******"/>
14 </dataSource>
15 </environment>
16 </environments>
17
18 <mappers>
19 <mapper resource="com/luohao/config/userMapper.xml"/>
20 </mappers>
21
22 </configuration>
各environmentは各データベースに対応しており、ここのデータは私のブログのデータベースをテストとして使用しています.下のmapperタグはSQL文のファイルパスをマッピングするためのもので、ここではディレクトリ構造からuserMapperを見る.xmlから見ると経路はcom/luohao/config/userMapperであるべきである.xml.
その後、SQL文のみがマッピングされ、ファイルはuserMapperです.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 <mapper namespace="com.luohao.config.userMapper">
4 <select id="Username" parameterType="String"
5 resultType="com.luohao.Test.User">
6 select * from user where username=#{username}
7 </select>
8 </mapper>
ここのネーミングスペースは必須ですが、これはMyBatisが新しい特性であり、コードと家を厳格にする特性です.
id用は識別で、その後のjavaコードにこれが現れます.paramterTypeはデータ型に対応するために使用されます.ここではusernameで、Stringクラスに対応しています.resultTypeはインスタンスクラスでもモデルクラスとも呼ばれ、データベースSQL文で得られたパラメータを実行するためのgetまたはsetメソッドです.
その後のデータベース文はほぼ一致しますが、#番号の後のjavaコードには検索するものが挿入されます.次はjavaコードです.
1 package com.luohao.Test;
2
3 import java.io.IOException;
4 import java.io.InputStream;
5 import org.apache.ibatis.io.Resources;
6 import org.apache.ibatis.session.SqlSession;
7 import org.apache.ibatis.session.SqlSessionFactory;
8 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
9
10 public class TestMyBaits {
11
12 public static void main(String[] args){
13 String resource="com/luohao/config/MyBatisConfig.xml";//
14 InputStream inputStream = null;
15 try {
16 inputStream = Resources.getResourceAsStream(resource);
17 } catch (IOException e) {
18 e.printStackTrace();
19 }
20 // SQLSession
21 SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
22 SqlSession session=sqlSessionFactory.openSession();
23 String statment ="com.luohao.config.userMapper.Username"; // Username Mapper id, selectOne SQL
24 User user=session.selectOne(statment,"luohao");
25 System.out.println(user.getEmail());
26 }
27 }
その後のuserクラスはあまり言わず、getとsetメソッドです.
これは簡単なMyBatisのDemoです.