Technology sharing

Colloquium interrogatio 009-Java-MyBatis

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Colloquium interrogatio 009-Java-MyBatis

Self-test quaestiones

  • 1. Quid est MyBatis? Quid differt ab Hibernate?
  • 2. Dic mihi de processu exsecutionis MyBatis?
  • 3. An MyBatis support iners loading?
  • 4. Quid interest inter cella primi gradus et cella secunda-gradus in MyBatis?
  • 5. Quid dynamicum SQL in MyBatis?
  • 6. Quomodo pagina in MyBatis efficienda?
  • 7. Quomodo MyBatis effectum dat insertionem permagnarum datarum in MySQL datorum?
  • 8. Intellexistis-MyBatis Plus?

Quaestio respondere

1. Quid est MyBatis? Quid differt ab Hibernate?

Responde: MyBatis est semi-automated permanentia compago iacuit, quae per XML vel annotationes SQL declarationes scribere potest et enuntiationes SQL ad res Javandas scribere. MyBatis enuntiationes SQL non omnino automatice generat, sed tincidunt ut manually SQL scribere permittit, ita maiorem flexibilitatem et imperium praebens.
Hiberna est compage plene latis ORM quae automatice enuntiationes SQL generare et plura munera praebere potest, sed eius conformatio etiam relative coniuncta est.

2. Dic mihi de processu exsecutionis MyBatis?

Responsio: Processus exsecutionis MyBatis plures gradus principales includit, a configuratione initializationis ad SQL exsecutionem et reditum eventuum.Processus detailed talis est

  1. Configurationem fasciculi oneratis: notare configurationem fasciculi (ut mybatis-config.xml), quod nexum datorum continet informationes, lima locus mapping et alia informationes.
  2. Crea SqlSessionFactory: crea in SqlSessionFactory exempli causa per SqlSessionFactoryBuilder constructor.
  3. Crea SqlSession: SqlSession instantia impetra per SqlSessionFactory, quae praebet methodos quae requiruntur ad SQL declarationes exequendas.
  4. Get Mapper: Get the specific Mapper instance through SqlSession.
  5. Executio SQL: Voca Mapper methodum interfaciendi, et MyBatis generat et exsequitur enuntiationes SQL specificas innixas per informationes destinativas in file configurationis.
  6. Processus eventus pone: MyBatis mappis eventus a database in obiectum Javae reversum pone et eum ad RECENS refert.
  7. Transactio procuratio: Si procurator transactionis configuratur, SqlSession tractat initium, committit vel reverti transactionum.
  8. Close SqlSession: Facultates dimitte.
    // 1. 加载配置文件
    String resource = "mybatis-config.xml";
    InputStream inputStream = Resources.getResourceAsStream(resource);
    
    // 2. 创建SqlSessionFactory
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    
    // 3. 创建SqlSession
    try (SqlSession session = sqlSessionFactory.openSession()) {
        
        // 4. 获取Mapper
        UserMapper mapper = session.getMapper(UserMapper.class);
    
        // 5. 执行SQL
        User user = mapper.selectUser(1);
    
        // 6. 处理结果集
        System.out.println(user);
    
        // 7. 管理事务(如果需要)
        session.commit();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        // 8. 关闭SqlSession
        session.close();
    }