mybaties总结

2023-11-12

1.需要导入四个坐标
分别是mybatits、junit、log4j、mysql-connection-java

2.连接数据库信息、配置mapper的位置

3.映射文件namespace对应的是接口全名、id是接口里面的方法名、resultType是类的全名

4.创建测试类的时候
(1)SqlSessionFactoryBuilder通过初始方法从xml文件获取到sqlSessionFactory
(2)sqlSessionFactory通过openSession()方法来获取到sqlSession对象
(3)通过sqlSession的getMapper方法实现了userDao接口中userDao,通过userDao对象回调接口的findAll()方法

5.连接数据库的方式
(1)第一种方式通过外部指定的方式,将数据库连接相关信息配置在典型的 Java 属性配置文件中

外部文件:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/book
username=root
password=1234

配置文件的内容:

   <environments default="mysql">
          <environment id="mysql">
              <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>
  上面加了一个resource,所以在有多数的数据库连接方式的时候会优先访问外部的properties文件

(2)第二种方式:直接配置为xm的方式: 可以使用直接配置为 xml的方式 ,并使用这些属性对配置项实现动态配置

(3)第三种方式:直接引用

 <environments default="mysql">
          <environment id="mysql">
              <transactionManager type="JDBC"/>
              <dataSource type="POOLED">
                  <property name="driver" value="com.mysql.jdbc.Driver"/>
                  <property name="url" value="jdbc:mysql://localhost:3306/user"/>
                  <property name="username" value="root"/>
                  <property name="password" value=""/>
              </dataSource>
          </environment>
      </environments>

6.开启自动驼峰命名规则映射
(1)用下面设置在配置文件里面进行写入

  <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

(2)在映射文件里面写,需要注意此刻需要开启第七项中的任意一个包,指定包名,或者是指定非限制性类

<mapper namespace="com.jbgaa.mapper.UserDao">
             <resultMap id="resultMap" type="user">
                 <id property="userId" column="user_id"></id>
                 <result property="userName" column="user_name"></result>
                 <result property="passWord" column="user_password"></result>
             </resultMap>
     <select id="findAll" resultMap="resultMap">
         select * from user1
     </select>
 </mapper>

7.1)非限定类,不区分大小写、2)给实体类取别名

  <typeAliases>
         默认名称:指定包下javabean的非限定类,不区分大小写,意思就是这个包里的类不需要在写前面包的路径 
  <package name="com.jbgaa.entity"/>-->
    加一个别名,上面方式是为给实体类取别名,方便在 mapper 配置文件中使用,下面是为一个类指定别名
          <typeAlias alias="user" type="com.jbgaa.entity.User"/>
     </typeAliases>

8.mappers元素获取资源的四种方式

  <mappers>1)第一种方式mapper 映射文件加入到系统核心配置文件中
<mapper resource="com/bbbaa421/Dao/BookDao.xml"/>2) 第二种方式:<mapper class= "接口路径" >
<mapper class="com.bbbaa421.Dao.BookDao"></mapper>3) 第三种方法使用使用 URL 获取资源-->
 <mapper url="file:///E:\QMKS\Test_lx\src\main\resources\com\jbgaa\mapper\UserDao.xml"/>4)第四种方法使用 <package> 获取资源-->
<package name="com.bbbaa421.Dao"></package>
    </mappers>

9.resultType与resultMap只能使用一个

10.测试类的关键所在
I

nputStream inputStream = Resources.getResourceAsStream("mybatis_config.xml");
sqlSessionFactory =new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession=sqlSessionFactory.openSession();
UserDao userDao=sqlSession.getMapper(UserDao.class);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mybaties总结 的相关文章

随机推荐

  • sqli-labs第三关

    初始页面 url入手 给个参数 id 1 回显正常 当我们给的参数是 id 1 时报错 说明他是字符型注入 原本的SQL语句加上我们给的就成了 id 1 回显报错 而且报错还多了一个括号 猜想SQL语句是这样的 select from us
  • 率先拿下512节点测试,华为GaussDB表示“很轻松”

    近日 在中国信息通信研究院和数据中心联盟发起的分布式分析型数据库测试中 华为GaussDB分析型数据库率先通过512节点集群规模能力评测 与此同时 中国某世界级银行也完成了采用华为GaussDB分布式分析型数据库对国外顶级数据仓库产品的完全
  • 每日风险投资速递(7月18日,14个互联网动态事件)

    1 传闻 阿里 魅族 传阿里9亿美元收购魅族40 股份 魅族副总裁李楠 魅族和阿里的确在酝酿合作 但融资消息并不属实 点评 顺藤摸瓜 2 动态 拍拍网 京东旗下拍拍网上线运营 对外公布在流量分发 用户分享 平台规则等多方面举措 其中PC店铺
  • 在MDK5中,warning:  #550-D: variable "d" was set but never used 的理解以及解释

    1 warning 550 D variable d was set but never used描述 变量 d 定义但从未使用 或者是 虽然这个变量你使用了 但编译器认为变量d所在的语句没有意义 编译器把它优化了 解决 仔细衡量所定义的变
  • 想跳槽涨薪的必看!2021年你与字节跳动只差这份笔记,大厂内部资料

    说白了 哪一个行业不是吃青春饭呢 无论哪个行业 大部分的从业人员都是在拿青春赌明天 而且很残忍的一个事实是 没有人的工作是不可取代的 如果你辞职 老板极力挽留 那就说明 你是那帮取代你的候选人当中最便宜的 市场在逐渐成熟 程序员的前景确实灰
  • java获取当前路径的方法

    参考网址 https www cnblogs com franson 2016 p 5728280 html 面临问题 需要在linux系统中run jar文件 运行过程包括文件IO 由于txt文件在windows系统中和在linux中路径
  • 0-1背包问题由二维数组转换为一维数组的理解

    对于0 1背包问题的话 可以使用一维数组来表示 我们要知道每一行的数据其实是依赖于上一行的数据 并不依赖于本行的数据 所以无论正序或者逆序更新一行的数据都不会需要本行的数据 但是为什么用一维数组更新时就要用逆序呢 其实是因为用一维数组更新时
  • imx8烧写Linux系统,RT-Linux在IMX8上的使用

    By Toradex胡珊逢 Real time Linux 是指在普通 Linux 内核打上 PREEMPT RT补丁后使内核满足实时要求 下面我们将使用 Apalis iMX8QM 介绍如何开启 Linux 5 4 的实时功能 首先需要下
  • 200 行代码实现一个简单的区块链

    java 区块链开发与交流群 613121183 有兴趣的也可以加下哈 提供了不少区块链资料 以后有资料可以相会共享 区块链的基础概念很简单 一个分布式数据库 存储一个不断加长的 list list 中包含着许多有序的记录 然而 在通常情况
  • 数据仓库模型设计V2.0

    一 数仓建模的意义 数据模型就是数据组织和存储方法 它强调从业务 数据存取和使用角度合理存储数据 只有将数据有序的组织和存储起来之后 数据才能得到高性能 低成本 高效率 高质量的使用 高性能 良好的数据模型能够帮助我们快速查询所需要的数据
  • 什么是vps

    在上网冲浪的时候看到网友在说一个我不认识的词汇 vps 于是在此记录下 文章目录 一 介绍 1 概念 2 特性用途 二 VPS又称为机场 三 VPS的使用 1 如何获取VPS 2 VPS品牌 总结 一 介绍 1 概念 VPS Virtual
  • 物联网平台设备运维监控报警介绍——实践类

    物联网平台监控报警简介 物联网平台除了基础的设备接入上云以及物模型建模管理外 还提供了面向运维场景的监控报警功能 帮助客户了解业务的运行情况 进行相关的运维操作 本文重点介绍相关的监控可视化及规则报警通知功能 包括 自定义的可视化监控大盘
  • 时间序列预测——LSTM模型(附代码实现)

    目录 模型原理 模型实现 导入所需要的库 设置随机数种子 导入数据集 打印前五行数据进行查看 数据处理 归一化处理 查看归一化处理后的数据 将时间序列转换为监督学习问题 打印数据前五行 划分训练集和测试集 查看划分后的数据维度 搭建LSTM
  • 通过环境变量修改java版本不生效

    通过环境变量修改java版本不生效 环境变量指向的是Java1 8版本 但是在终端下查看Java version版本是10 0 2 本机依次安装了 jdk1 8 jdk1 6 和 jdk1 7 三个版本的 jdk 由于maven打包andr
  • 基于PaddleGAN项目人脸表情动作迁移学习(二)单人表情迁移

    学习目标 学习基于PaddleGAN实现的动作迁移模型 First order motion model First order motion model原理 First order motion model的任务是image animat
  • STM32——I2C通信理论基础(1)(学习笔记)

    STM32 I2C通信理论基础 硬件层 协议层 1 I2C基本读写过程 2 I2C通信的起始和停止信号 3 数据的有效性 4 响应 前言 我们在学习stm32的时候 要想学得更好 i2c协议的学习是必不可少的 现在很多的硬件 传感器等都是用
  • Vite2.0常见配置

    一 创建 1 创建 npm init vite latest my vue app template vue ts 查看 create vite 以获取每个模板的更多细节 vanilla vanilla ts vue vue ts reac
  • Win10-部署java环境教程

    一提到部署环境 不得不提到java环境 现如今java遍地走 python多如狗的世界里 如果不能在本地搭建一套java环境 都不好意思说自己是搞软件的 这里呢 给大家来分享一下 如何在一个新的机器上部署java环境 首先 java环境的配
  • FPGA零基础学习之Vivado-锁相环使用教程

    FPGA零基础学习之Vivado 锁相环使用教程 本系列将带来FPGA的系统性学习 从最基本的数字电路基础开始 最详细操作步骤 最直白的言语描述 手把手的 傻瓜式 讲解 让电子 信息 通信类专业学生 初入职场小白及打算进阶提升的职业开发者都
  • mybaties总结

    1 需要导入四个坐标 分别是mybatits junit log4j mysql connection java 2 连接数据库信息 配置mapper的位置 3 映射文件namespace对应的是接口全名 id是接口里面的方法名 resul