zoukankan      html  css  js  c++  java
  • Mybaties-基础知识

    1.基础知识SqlSessionFactoryBuilder /SqlSessionFactory /SqlSession /SQL Mapper

    • SqlSessionFactoryBuilder:读取配置信息创建SqlSessionFactory,建造者模式,方法级别生命周期;
    • SqlSessionFactory:创建Sqlsession,工厂单例模式,存在于程序的整个生命周期;

    • SqlSession:(线程不安全的)代表一次数据库连接,可以直接发送SQL执行,也可以通过调用Mapper访问数据库;线程不安全,要保
      证线程独享(方法级);

    • SQL Mapper:由一个Java接口和XML文件组成,包含了要执行的SQL语句和结果集映射规则。方法级别生命周期;

    我们看一个简单的案例:

    package com.enjoylearning.mybatis;
    
    import java.io.IOException;
    import java.io.InputStream;
    
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    import org.junit.Before;
    import org.junit.Test;
    
    import com.enjoylearning.mybatis.entity.TUser;
    import com.enjoylearning.mybatis.mapper.TUserMapper;
    
    public class MybatisQuickStart {
    
        private SqlSessionFactory sqlSessionFactory;
    
        @Before
        public void init() throws IOException {
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            // 1.读取mybatis配置文件创SqlSessionFactory
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            inputStream.close();
        }
    
        @Test
        // 快速入门
        public void quickStart() throws IOException {
            // 2.获取sqlSession
            SqlSession sqlSession = sqlSessionFactory.openSession();
            // 3.获取对应mapper
            TUserMapper mapper = sqlSession.getMapper(TUserMapper.class);
            // 4.执行查询语句并返回结果
            TUser user = mapper.selectByPrimaryKey(1);
            System.out.println(user.toString());
    
        }
        
    }
    View Code
  • 相关阅读:
    leetCode 116.Populating Next Right Pointers in Each Node (为节点填充右指针) 解题思路和方法
    最终考过了驾照考试,如今就=驾照下来了
    JSON.parseObject的几种用法
    mybatisplus构造器 condition
    MyBatis中jdbcType=INTEGER、VARCHAR作用
    mybatis动态sql
    数据库表可以没有外键
    msyql的子查询,或者叫嵌套查询
    mysql 的编写顺序和执行顺序
    StringUtils的isBlank()方法
  • 原文地址:https://www.cnblogs.com/lys-lyy/p/11318554.html
Copyright © 2011-2022 走看看