IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> mybatis起步 -> 正文阅读

[大数据]mybatis起步

将DAO接口中的方法映射到xml文件中,也就是只需在xml文件中编写SQL语句,然后会自动创建DAO接口的实现类

示例:

1.假设有一个student表,现在要去查询该表。
    1).需要有一个DAO接口IStudentDao, 完全限定名:com.test.dao.IstudentDao
    2).编写mybatis的配置文件,命名为mybatis-config.xml。文件中需要配置连接参数:url、账号密 
       码...以及DAO接口映射到的xml文件的路径(xxxMapper.xml)
    3).在xml映射文件中,编写SQL语句,以及它关联的DAO接口,该xml文件相对于mybatis-config.xml的 
       路径最好与其关联的DAO接口的完全限定名一致。
    4).然后加载xml配置文件,3)中通过在xml文件中编写sql实现了相应的DAO接口,现在可以执行sql语句
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">
            <environment id="development">
              <transactionManager type="JDBC"/>
              <dataSource type="POOLED">
                    <!--连接参数-->
                  <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                  <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
                  <property name="username" value="root"/>
                  <property name="password" value="****"/>
              </dataSource>
            </environment>
        </environments>
        <!--映射文件的路径-->
        <mappers>
            <!--这里的路径是相对于mybatis-config.xml的路径-->
          <mapper resource=com/test/dao/StudentMapper.xml"/>
        </mappers>
    </configuration>
3.StudentMapper.xml:
    <?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">
    <!--通过namespace属性将该映射文件绑定到指定的DAO接口,从而通过该xml文件实现DAO接口-->
    <mapper namespace="com.test.dao.StudentMapper">
        <!--id为实现的指定DAO接口中的方法名,resultType为查询结果的每一行对应的对象类型-->
       <select id="getStudent" resultType="Student">
            <!--#{id}为OGNL表达式,是当前上下文中的id变量,也就是方法参数-->
          SELECT * FROM student WHERE id = #{id};
       </select>
    </mapper>
4.获取连接,执行SQL:
    String resource = "mybatis-config.xml";
    //Resources是mybatis中内置的类,用于获取资源文件
    InputStream is = Resources.getResourceAsStream(resource);
    SqlSessionFactory factory = 
           new SqlSessionFactoryBuilder().build(is);
    //SqlSession相当于Connection
    SqlSession sqlSession = factory.openSession();
    //将DAO接口方法的全限定名作为参数来执行指定方法,并传入参数
    1).Student s = 
           (Student)sqlSession.selectOne("com.test.dao.StudentMapper.getStudent",1);
    //通过xml映射文件已经有了DAO接口的实现类,现在创建该实现类的实例,直接调用该对象的方法
    2).IStudentDAO sDao = sqlSession.getMapper(IStudentDAO.class);
        Student s = sDao.getStudent(1);

parameterType:

1.parameterType为方法传入的参数的类型,mybatis能够自动推断出来,所以可以不写。
当传入的参数是基本数据类型(int,String...),用#{}访问到的参数本身的值,如果是一个类类型
那么用#{}访问到的则是参数对象内的属性
2.<select id="getUser" parameterType="User" returnType="User">
    SELECT * FROM user WHERE id=#{id};
  </select>
    这里#{id}访问的是User对象中的id属性

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-01-12 00:04:27  更:2022-01-12 00:05:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 14:23:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码