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 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 【Mabtis】一个入门实例:查询+插入 -> 正文阅读

[大数据]【Mabtis】一个入门实例:查询+插入

第一个例子

实现步骤:

  1. 创建student表(id,name,email,age)
  2. 新建maven项目
  3. 修改pom.xml
    1)加入依赖(本地仓库/联网下载) mybatis依赖, mysql驱动, junit
    2)在<build>加入资源插件
  4. 创建实体类Student。定义属性, 属性名和列名保持一致
  5. 创建Dao接口, 定义操作数据库的方法。
  6. 创建xml文件(mapper文件), 写sql语句。
    mybatis框架推荐是把sql语句和java代码分开
    mapper文件:定义和dao接口在同一目录, 一个表一个mapper文件。
  7. 创建mybatis的主配置文件(xml文件):有一个, 放在resources目录下
    1)定义创建连接实例的数据源(DataSource)对象
    2)指定其他mapper文件的位置
  8. 创建测试的内容。
    1)使用main方法,测试mybatis访问数据库
    2)也可以使用junit 访问数据库

有几个小点,记录一下,怕忘了 😐

  • 日志
  • 事务提交
  • 占位符

在这里插入图片描述

查询操作中

在这里插入图片描述
占位符:

在这里插入图片描述

mybatis.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>
    <!--设置日志-->
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <!--配置数据源: 创建Connection对象。-->
            <dataSource type="POOLED">
                <!--driver:驱动的内容-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <!--连接数据库的url-->
                <property name="url" value="jdbc:mysql://localhost:3306/springdb?useUnicode=true&amp;characterEncoding=utf-8"/>
                <!--用户名-->
                <property name="username" value="root"/>
                <!--密码-->
                <property name="password" value="666666"/>
            </dataSource>
        </environment>
    </environments>

    <!--指定其他mapper文件的位置:
        其他其他mapper文件目的是找到其他文件的sql语句
    -->
    <mappers>
        <!--
           使用mapper的resource属性指定mapper文件的路径。
           这个路径是从target/classes路径开启的

           使用注意:
              resource=“mapper文件的路径,使用 / 分割路径”
              一个mapper resource 指定一个mapper文件
        -->
        <mapper resource="com/bjpowernode/dao/StudentDao.xml"/>

        <!--<mapper resource="com/bjpowernode/dao/OrderDao.xml"/>
        <mapper resource="com/bjpowernode/dao/UserDao.xml"/>-->
    </mappers>
</configuration>
	@Test
    public void testSelectStudentById2() throws IOException {

        //调用mybatis某个对象的方法,执行mapper文件中的sql语句
        //mybatis核心类: SqlSessionFactory

        //1.定义mybatis主配置文件的位置, 从类路径开始的相对路径
        String config = "mybatis.xml";

        //2.读取主配置文件。使用mybatis框架中的Resources类
        InputStream inputStream = Resources.getResourceAsStream(config);

        //3.创建SqlSessionFactory对象, 使用SqlSessionFactoryBuidler类
        // 每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。
        // SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。
        // 而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);

        //既然有了 SqlSessionFactory,顾名思义,可以从中获得 SqlSession 的实例。
        // SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。
        // 你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。

        //4.获取SqlSession对象。
        SqlSession session = factory.openSession();

        //5.指定要执行的sql语句的 id
        //  sql的id = namespace+"."+ select|update|insert|delete标签的id属性值
        String sqlId = "com.bjpowernode.dao.StudentDao" + "." + "selectStudentById";

        // 6.通过SqlSession的方法,执行sql语句
        Student student = session.selectOne(sqlId,1002);
        System.out.println("使用mybatis查询一个学生:" + student);

        // 7.关闭SqlSession对象
        session.close();

    }

在这里插入图片描述
测试mybatis执行sql语句
在这里插入图片描述
另一种查询:

sql的id = namespace+"."+ select|update|insert|delete标签的id属性值

在这里插入图片描述

@Test
    public void testSelectStudentById3() throws IOException {

        //调用mybatis某个对象的方法,执行mapper文件中的sql语句
        //mybatis核心类: SqlSessionFactory

        //1.定义mybatis主配置文件的位置, 从类路径开始的相对路径
        String config = "mybatis.xml";

        //2.读取主配置文件。使用mybatis框架中的Resources类
        InputStream inputStream = Resources.getResourceAsStream(config);

        //3.创建SqlSessionFactory对象, 使用SqlSessionFactoryBuidler类
        // 每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。
        // SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。
        // 而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来
        // 构建出 SqlSessionFactory 实例。
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);

        //既然有了 SqlSessionFactory,顾名思义,可以从中获得 SqlSession 的实例。
        // SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。
        // 你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。

        //4.获取SqlSession对象。
        SqlSession session = factory.openSession();

        //5.指定要执行的sql语句的 id
        //  sql的id = namespace+"."+ select|update|insert|delete标签的id属性值
        String sqlId = "abc.myselect";

        // 6.通过SqlSession的方法,执行sql语句
        Student student = session.selectOne(sqlId,1002);
        System.out.println("使用mybatis查询一个学生:" + student);

        // 7.关闭SqlSession对象
        session.close();

    }

在这里插入图片描述
在这里插入图片描述

添加操作

在这里插入图片描述

在StudentDao.xml中的mapper标签中添加

<insert id="insertStudent">
    insert into student values(1004,"丸子六","wanziliu@qq.com",20)
</insert>

MyTest.java修改如下:
在这里插入图片描述
在这里插入图片描述
mybatis默认执行sql语句是 手工提交事务 模式, 在做insert,update ,delete 后需要提交事务。
代码修改如下:
在这里插入图片描述
执行效果:
在这里插入图片描述
在这里插入图片描述
如果想动态插入数据:
如果传入给mybatis是一个java对象,使用#{属性名} 获取此属性的值。
属性值放到 #{}占位符的位置, mybatis执行此属性对应的getXXX().
例如 #{id} ,执行getId();
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-13 22:27:09  更:2021-10-13 22:27:11 
 
开发: 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 0:45:12-

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