MyBatis——第1章 MyBatis入门

1.1 框架

包含 jar包 ,文档 , 源码,代码实例....

1.2 Mybatis 概述

  1.2.1 简介

       是一个优秀的基于Java持久层框架,它内部封装了JDBC,使用者只需要关注SQL语句本身。

       Mybatis通过xml或注解的方式将要执行的各种statement配置起来,并通过Java对象和Statement中SQL的动态参数映射生成最终执行的SQL语句、最后由MyBatis框架执行SQL并将结果映射成Java对象并返回。

   1.2.2 MyBatis与Hibernate

        略。。

         ORM

         MyBatis 与H相比有以下几个特点:

          (1)  XML文件中插入SQL语句,实现SQL语句与代码分离,易于维护

          (2) 更灵活的实现SQL语句,能实现更高效,能完成复杂查询。

          (3) 简单,易于学习,易于使用,上手快。

      1.2.3 MyBatis 体系结构

        接口层:提供了一套API,增删改查(调用的是下边的东西)

扫描二维码关注公众号,回复: 3328334 查看本文章

        数据处理层:

              参数映射:把传来的数据打散

               SQL解析:把SQL从XML配置文件中读取出来,再把参数值放进去,形成真正要执行的SQL

               SQL执行:执行器(分析源码)

                结果映射:自动封装对象

        基础支持层:

                连接管理

                事务管理

                 配置加载:SQL、数据库连接四要素(:驱动、URL、用户名、密码)

                 缓存处理

                 配置框架

1.3 MyBatis 工作原理

    

     ORM框架

       Application:O(Object)

       MyBatis框架:M(Mapping)

             API:增删改查

             JDBC:API调用(里边有SQL语句)

        mapper.xml(主配置文件):我们写的SQL语句,被加载到JDBC,然后就可以操作数据库

        mybatis.xml(映射文件):数据库连接的四要素、映射文件,mapper文件映射到mybatis文件中。

        这两个配置文件需要注册,XML文件加载到内存

        DB:database R(RelationShip)

第一个程序:

约束文件----xml文件  约束关系通过配置文件头来建立

*  :>=0

+ : >=1

? : <=1 

空: = 1

mapper.xml

<mapper namespace="test"> namespace 的作用:就是<nsert>...增删改查的id的父名称

     增删改:可以传入参数,ParamterType制定参数类型,可以省略不写,一般不写

                    <insert ParameterType = "Student">

                         insert into students(name,age,score) values(#{name},#{age},#{score})

                    </insert>

                    使用反射机制

                   自动将传入的参数Student打散

     查询:ResultType不能省略,指定封装成的对象

主配置文件mybatis.xml

         jdbc属性文件的位置  <!-- 注册DB连接四要素属性文件 -->

                   <properties resource="jdbc.properties"/>

 <properties resource="jdbc.properties"/>

      <!-- 定义类型别名 -->

<typeAliases>
<!-- 将指定包中所有类的简单类名当作其别名 -->
       <package name="com.bjpowernode.beans"/>
</typeAliases> 

      <!-- 配置运行环境 -->

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

       <!-- 注册映射文件 -->

	<mappers>
		<mapper resource="com/bjpowernode/dao/mapper.xml"/>
	</mappers>

    插入insert #{}里边东西不能随便写(对象类型 如Student)

    基本数据类型 #{随便写}

猜你喜欢

转载自blog.csdn.net/Curry7895/article/details/82697943
今日推荐