Mybatis一

7145 ワード

Mybatisアーキテクチャ
1、  mybatis  
    SqlMapConfig.xml,     mybatis       ,   mybatis        。
    mapper.xml   sql    ,            sql  。
          SqlMapConfig.xml   .

2、    mybatis         SqlSessionFactory     
3、         sqlSession   ,         sqlSession  。
4、  mybatis      Executor          ,Executor       ,  
            、        。
5Mapped Statement  mybatis        ,    mybatis     sql     。  
    mapper.xml     sql    Mapped Statement  ,sql id  Mapped statement id。
6Mapped Statement sql          ,  HashMap、    、pojo,Executor
        Mapped Statement   sql     java     sql ,        jdbc
        preparedStatement    。
7Mapped Statement sql          ,  HashMap、    、pojo,Executor  
    Mapped Statement   sql         java   ,           jdbc  
               。
mybatisコアパック、依存パック、データ駆動パッケージ
ant-1.9.6.jar
ant-launcher-1.9.6.jar
asm-5.2.jar
cglib-3.2.5.jar
commons-logging-1.2.jar
javassist-3.21.0-GA.jar
junit-4.9.jar
log4j-1.2.17.jar
log4j-api-2.3.jar
log4j-core-2.3.jar
mybatis-3.4.4.jar
mysql-connector-java-5.1.7-bin.jar
ognl-3.1.14.jar
slf4j-api-1.7.25.jar
slf4j-log4j12-1.7.25.jar
    

    ${}   :                 ,  ${}        value
      :          sql  ,              ,    sql   ,      
会話工場
    private SqlSessionFactory sqlSessionFactory =  null;

    @Before
    public void create  SqlSessionFactory() throws Exception {
        //     
        String resource = "SqlMapConfig.xml";
        //               
        InputStream inputStream = Resources.getResourceAsStream(resource);
        //                   
        sqlSessionFactory = new SqlSessionFactoryBuilder()
                    .build(inputStream);
        //         
            sqlSession = sqlSessionFactory.openSession();
            //      :   sql  = namespace.Id
            User user = sqlSession.selectOne("test.findUserById", 10);
    }
Mapperダイナミックエージェント方式
マップファイル

<mapper namespace="com.bf.mapper.UserMapper">
get Mapper法によるコネクタの実装
session = factory.openSession();
            UserMapper mapper = session.getMapper(UserMapper.class);
マップファイルをロード
        
        <mapper class="com.bf.mapper.UserMapper"/>
    //        ,        List,  mybatis             selectList  
    List findUsersByName(String name);
Sql MapConfig.xmlプロファイル
configuration   
properties   
settings   
typeAliases     
typeHandlers      
objectFactory     
plugins   
environments   
environment     
transactionManager      
dataSource    
databaseIdProvider        
mappers    
    <typeAliases>
    
        <package name="com.bf.pojo"/>
    typeAliases>
    <mappers>
        
        <package name="com.bf.mapper"/>
    mappers>