zoukankan      html  css  js  c++  java
  • mybatis

    mybatis简介
    mybatis是一种持久层框架,也属于ORM映射,前身是ibatis。相比于hibernate,hibernate为全自动框架,配置文件书写后不需要书写SQL语句,但缺乏灵活性,很多时候需要优化。mybatis是半自动化框架,需要自己写SQL语句,需要自己定义映射,增加了程序员的一些操作,但带来了设计上的灵活,并且也支持hibernate的一些特性,如延迟加载,缓存,映射等。度暑假库的兼容性比hibernate差。移植性不好,但可编写灵活和高性能的SQL语句。
    mybatis组成
    核心对象:SqlSessionFactory SqlSession
    配置文件:mybatis.cfg.xml相当于hibernate的hibernate的hibernate.cfg.xml
    多个类配置文件:user.xml相当于hibernate的映射类文件
    支持注释配置
    mybatis所需jar包
    mybatis-3.1.1.jar mybatis核心jar包

    •   数据库驱动包

    mybatis.cfg.xml 基本映射
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
    <typeAliases>
    <!-- 为每个JavaBean取一个别名 -->
    <!-- <typeAlias alias="StudentBean" type="com.wxl.beans.StudentBean"/>
    <typeAlias alias="ClassBean" type="com.wxl.beans.ClassBean"/> -->
    <!-- 使用beans包下类名作为别名 -->
    <package name="com.wxl.beans"/>
    </typeAliases>
    <!-- default用于设置默环境,也就是默认使用的数据库,值为相应环境ID -->
    <environments default="first">
    <!-- 设置环境ID -->
    <environment id="first">
    <!-- 配置事务管理器 -->
    <transactionManager type="JDBC"></transactionManager>
    <!-- 数据源配置 -->
    <!-- POOLED表示使用数据库连接池 -->
    <dataSource type="POOLED">
    <property name="driver" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&amp;characterEncoding=UTF-8"/>
    <property name="username" value="root"/>
    <property name="password" value="cv#zF$t178"/>
    </dataSource>
    </environment>
    </environments>
    <!-- 定义SQL映射语句 -->
    <!-- 可以使用类的相对路径资源引用,或字符表示、或URL引用的完全限定名(包括files://URLS)-->
    <mappers>
    <!-- 类的相对路径资源的应用 -->
    <!-- <mapper resource="com.wxl.mapper.StudentMapper.xml"/> -->
    <!-- 使用完全限定路径 -->
    <!-- <mapepr url="D://jee/mybatis03/src/com.wxl.mapper.StudentMapper.xml"/> -->
    <!-- 映射mapper包下所有的 mapper.xml 文件 -->
    <package name="com.wxl.mapper"/>
    </mappers>
    </configuration>
    mapper.xml ORM文件
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <!-- 配置sql映射文件的命名空间 -->
    <mapper namespace=”student”>
    </mapper>
    命名空间的作用:
    1)更好的分类SQL语句块,更好维护
    2)防止SQL语句块重名
    3)在设置了命名空间后,那么在相应的应用程序中可以方便地使用“命名空间.语句块名”进行调用

  • 相关阅读:
    细说Unity3D(一)——移动平台动态读取外部文件全解析
    React16新增生命周期与旧版本生命周期的区别
    refs的作用是什么,你在什么业务场景下使用过refs
    react setState 的用法
    webpack中,是借助loader完成的JSX代码的转化,还是babel?
    虚拟dom是什么?为什么虚拟dom会提升代码性能?
    react 性能优化的最佳实践?
    你会把数据统一放在 redux 中管理,还是共享数据放在 redux 中管理?
    redux 中间件的原理是什么?
    谈谈你对This对象的理解?
  • 原文地址:https://www.cnblogs.com/Mrxiaolong/p/5686711.html
Copyright © 2011-2022 走看看