MyBatis学习笔记p1-p15

学习视频:尚硅谷MyBatis教学视频

MyBatis持久化层,和数据库交互的框架。
JDBC->Dbutils(QueryRunner)->jdbcTemplate:工具
框架:整体解决方案
JDBC:编写sql–>预编译–>设置参数–>执行sql–>封装结果
使用工具的话:
1.功能简单;sql语句编写在java代码里面;硬编码高耦合的方式
Hibernate:全自动全映射ORM(Object Relation Mapping)框架;旨在消除sql
javaBean–>编写sql–>预编译–>设置参数–>执行sql–>封装结果–>DbRecor
希望:sql语句交给开发人员编写,希望sql不失去灵活性
MyBatis( 半自动,轻量级的框架):sql与java编码分离;sql是开发人员控制
只需要掌握好sql语句

HelloWorld

/*
1.根据xml配置文件(全局配置文件)创建一个SqlSessionFactory对象
     有数据源一些运行环境的信息
2.sql映射文件,配置了每一个sql,以及sql的封装规则
3.将sql映射文件注册在全局配置文件中
4.写代码:
   1)根据全局配置文件得到sqlSessionFactory
   2)使用sqlSessionFactory获取到sqlSession对象使用他来执行增删改查
   一个sqlSession就是代表和数据库的一次会话,用完关闭
   3)使用sql唯一标识来告诉Mybtis执行哪个sql,sql都是保存在sql映射文件中的
 */
/*
1.接口式编程
原生:    Dao     ===>DaoImpl
Mybatis:Mapper  ===>xxMapper.xml

2.SqlSession代表和数据库的一次会话,用完必须关闭
3.SqlSession和connection一样都是非线程安全。每次使用都应该去获取新的对象
4.mapper接口没有实现类,但是mybatis会为这个接口生成一个代理对象
(将接口和xml进行绑定)
 EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
5.两个重要的配置文件:
mybatis的全局配置文件;包含数据库连接池信息,事务管理器信息。。。系统运行环境信息
sql映射文件:保存了每一个sql语句的映射信息。
               将sql抽取出来
 */

全局配置文件

properties属性

<!--
    1.mybatis可以使用properties来引入外部properties配置文件的内容;
      resource:引入类路径下的资源
      url:引入网络路径或者磁盘路径下的资源
      <properties resource="dbconfig.properties"></properties>
    -->

settings设置

 <!--
    2.settings包含很多重要的设置项
      setting:用来设置每一个设置项
      name:设置项名
      value:设置项取值
    -->
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

typeAliases别名处理器

<!--3.typeAliases别名处理器,可以为我们的java类型起别名,别名不区别大小写-->
    <typeAliases>
        <!--typeAliases:为某一java类型起别名
        type:指定要起别名的类型全类名;默认别名就是类名小写;employee
        alias:指定新的别名
        -->
        <typeAlias type="com.atguigu.mybatis.bean.Employee" alias="emp"/>
        <!--package:为某个包下的所有类批量起别名-
               name:指定包名(为当前包以及下面所有的后代包的每一个类都起一个默认别名(类名小写))
        -->
        <package name="com.atguigu.mybatis.bean"/>
        <!--批量起别名的情况下,使用@Alias注解为某个类型指定新的别名-->
    </typeAliases>

environment

4.environments:环境们,mybatis可以配置多种环境,default指定使用某种环境,可以达到快速切换
environment:配置一个具体的环境信息,必须有两个标签,id代表当前环境的唯一标识
transactionManager:事务管理器
type:事务管理器的类型;JDBC(Jdbc TransactionFactory) MANAGED
自定义事务管理器,实现TransactionFactory接口,type指定为全类名
dataSource:数据源;
type:数据源类型;UNPOOLED|POOLED|JNDI

<environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="jdbc.url"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>

databaseIdProvider

5.dababaseIdProvider:支持多数据库厂商的;
type=“DB_VENDOR”,VendorDatabaseIDprovider
作用是得到数据库厂商的标识(驱动),mybatis就能根据数据库厂商标识执行不同的sql;
MySQL ;Orace ;SQL Server;

mappers

6.mappers:将sql映射注册到全局配置中
mapper:注册一个sql映射
resource:引用类路径下的sql映射文件
mybatis/mapper/EmployeeMapper.xml
url:引用网络路径或者磁盘路径下的sql映射文件
file:///var/mappers/AuthorMapper.xml
class:引用(注册)接口
注册接口
class:引用(注册)接口
1.有sql映射文件,映射文件名必须和接口同名,并且放在与接口同一目录下
2.没有sql映射文件,所有的sql都是利用注解写在接口上的
推荐:比较重要的Dao接口我们来写sql映射文件
不重要,简单的Dao接口为了开发快速可以使用注解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值