MyBaties

1 Mybatis是什么(理解)

(1)mybatis : 一个基于Java的持久层框架

(2)持久层 : 操作数据库那层代码

(项目分层:界面层(jsp/controller) 业务层(service层) 持久层(数据层 dao层))

持久层框架 : jdbc , springjdbc jpa springdatajpa , mybatis

(3) 框架:

​ a) 每个框架为了解决某一个领域问题产生

​ b)框架还是一个半成品, 已经完成一部分功能 ,只需要在上面进行开发 --提高开发效率

​ c) 可以让我们很多人写的代码 都按照一定规则去写–可读性 维护性

(4)持久化概念:

​ 把内存里面数据 保存到数据库中 --过程就叫持久化

(5)mybatis 它是一个持久层框架,同时又是ORM的框架

​ ORM: 对象关系映射 --jpa/springdatajpa

2 Mybatis的特点(理解)

(1)MyBatis 是一个支持普通 SQL查询,存储过程(数据库mysql/oracle)和高级映射的优秀持久层框架。

(2)MyBatis ****消除了几乎所有的JDBC代码和手工设置参数以及结果集的检索****。

​ jdbc:

​ a) 贾琏欲执事 – 不需要做

​ b) 手工设置参数(传参) – 不需要做

​ insert into xxx (name,age) values(?,?)

​ c) 结果集 ResultSet(返回值) – 不需要做

(3)MyBatis 使用简单的 ****XML*或 注解 用于配置和原始映射,将接口和 Java 的*POJOs****(Plain Old Java Objects,普通的 Java对象 Employee/User/Entity/Domain)映射成数据库中的记录。 SQL映射方式

xxxMapper.xml 文件(crud sql语句)

面试题 : Jpa缓存

​ jpa 一级缓存 和二级缓存 是什么?

​ jpa 一级缓存: 属于entityManager级别缓存,jpa自带的,不用做任何配置, 命中条件

​ 同一个entityManageFactory ,同一个EntityManager 同一个OID

​ 二级缓存: 属于entityManagerFactory级别缓存,不是自带 ,需要做相应配置才行

​ 命中条件

​ 同一个entityManageFactory ,不同一个EntityManager 同一个OID

面试题 : jdbc和mybatis优缺点?

​ jdbc和mybatis优缺点?

​ (1)jdbc操作步骤比较繁琐,比较执行贾琏欲执事 而mybatis不用 消除这个代码

​ (2)jdbc需要自己手动设置 参数 以及处理返回结果集 --而mybatis 不需要

​ (3)mybatis 可以采用 xml 和 注解 来写sql …jdbc 把sql 写到代码里面, 可以提高维护性

​ (4)jdbc 它是操作数据库最底层的代码,mybatis也是从jdbc上面封装出来框架 mybatis支持缓存

3 使用Mybatis(掌握)

​ (1) 创建项目 导入jar包

​ a)创建一个普通项目 , 创建一个文件夹lib (jar包)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MQ1hOEN6-1577282259693)(笔记.assets/image-20191225102827492.png)]

​ b)数据库创建一个表 Product

​ c)创建结构

​ cn.itsource.mybatis.domain

​ cn.itsource.mybatis.dao

​ cn.itsource.mybatis.service

(2) 做相应的配置

​ Mybatis-config.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>

    <!-- 开发环境-->
    <environments default="development">
        <!--
            一个环境  id:为这个环境取唯一一个id名称
        -->
        <environment id="development">
            <!--
                事务管理   type:JDBC(支持事务)/MANAGED(什么都不做)
                 mysql: innodb  MyISAM
            -->
            <transactionManager type="JDBC" />
            <!-- 数据源, 连接池  type(POOLED):MyBatis自带的连接池 -->
            <dataSource type="POOLED">
                <!-- 连接数据库的参数 四大金刚  -->
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql:///mybatis" />
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值