【Java】Mybatis查询数据库_java程序开机使用mybatis查询数据库(1)

		* [4.4.5 添加Controller](#445_Controller_222)
+ [5. 增、删、改操作](#5__240)
+ - [5.1 增加用户的操作](#51__242)
	- [5.2 删除用户的操作](#52__257)
	- [5.3 修改用户操作](#53__265)
+ [6. 查询操作](#6__273)
+ - [6.1 单表查询](#61__275)
	- * [6.1.1 参数占位符 #{} 和 ${}](#611_____294)
		* [6.1.2 $优点](#612__301)
		* [6.1.3 SQL 注入问题](#613_SQL__305)
		* [6.1.4 like查询](#614_like_315)
	- [6.2 多表查询](#62__327)
	- * [6.2.1 返回类型](#621__336)
		* [6.2.2 返回字典映射:resultMap](#622_resultMap_348)
		* [6.2.3 多表查询](#623__368)
		* + [6.2.3.1 一对一的映射](#6231__376)
			+ [6.2.3.2 一对多的映射](#6232__406)
+ [7. 复杂情况](#7__428)
+ - [7.1 `<if>`标签](#71_if_432)
	- [7.2 `<trim>`标签](#72_trim_453)
	- [7.3 `<where>`标签](#73_where_502)
	- [7.4 `<set>`标签](#74_set_517)
	- [7.5 `<foreach>`标签](#75_foreach_551)

MyBatis查询数据库

经过前面的学习Spring系列的操作已经差不多了,接下来我们继续学习更加重要的知识,将前端传递的参数存储起来,或者查询数据库里面的数据

1. MyBatis 是什么?

MyBatis是款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis几乎祛除了所有的JDBC代码以及设置参数和获取结果集的操作。MyBatis可以通过简单的XML或者注解来配置和映射原始类型、接口和Java POJO为数据库中的记录

简单来说MyBatis是简单完成程序和数据库交互的工具,也就是更简单的操作和读取数据库的工具

2. 为什么要学习MyBatis?

对于后端程序员来说,程序是由以下两个程序组成的:

  1. 后端程序
  2. 数据库

而这两个重要的组成部分要通讯,就要依靠数据库连接工具,那么数据库连接工具有哪些?比如JDBC还有今天我们要介绍的MyBatis。既然已经有了JDBC,为什么还要学习MyBatis?这是因为JDBC操作太繁琐了,我们来回顾一下JDBC的操作流程:

  1. 创建数据库连接池DataSource
  2. 通过DataSource获取数据库连接Connection
  3. 编写要带?的占位符的SQL语句
  4. 通过Connection及SQL创建操作命令对象Statement
  5. 替换占位符:指定要替换的数据库字段类型,占位符索引及要替换的值
  6. 使用Statement执行SQL语句
  7. 查询操作:返回结果集ResultSet,更新操作:返回更新的数量
  8. 处理结果集
  9. 释放资源

3. 怎么学MyBatis?

MyBatis的学习只分为两部分:

  1. 配置MyBatis开发环境
  2. 使用MyBatis模式和语法操作数据库

4. 第一个MyBatis查询

开始搭建MyBatis之前,我们需要先来看看它在整个框架之中的地位

在这里插入图片描述

MyBatis也是一个ORM框架,ORM即对象关系映射。在面向对象编程语言当中,讲关系型数据库中的数据与对象建立起映射关系,进行自动完成数据与对象的相互转换

  1. 将输入数据(即传入对象)+ SQL映射原生SQL
  2. 将结果集映射为返回对象,即输出对象

O

  • 25
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 MyBatis 查询数据库表是否存在可以分为两步:首先编写 SQL 查询语句,其次使用 MyBatis 执行 SQL 查询语句。以下是一个示例代码: ```java import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; public interface TableMapper { @Select("SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = #{dbName} AND table_name = #{tableName}") int tableExists(@Param("dbName") String dbName, @Param("tableName") String tableName); } ``` 在这个示例中,我们使用了 `information_schema.tables` 数据库元数据表来查询表信息。如果表存在,则返回的结果是 1,否则是 0。 接下来,我们需要使用 MyBatis 执行这个 SQL 查询语句。以下是一个示例代码: ```java import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.IOException; import java.io.Reader; public class CheckTableExists { public static void main(String[] args) throws IOException { String resource = "mybatis-config.xml"; Reader reader = Resources.getResourceAsReader(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); SqlSession sqlSession = sqlSessionFactory.openSession(); try { TableMapper tableMapper = sqlSession.getMapper(TableMapper.class); int count = tableMapper.tableExists("mydatabase", "mytable"); if (count > 0) { System.out.println("Table mytable exists."); } else { System.out.println("Table mytable does not exist."); } } finally { sqlSession.close(); } } } ``` 在这个示例中,我们使用 `SqlSessionFactory` 来创建一个 `SqlSession`,然后使用 `TableMapper` 来执行 SQL 查询语句。如果表存在,则输出 "Table mytable exists.",否则输出 "Table mytable does not exist."。 注意:在以上示例代码中,`mybatis-config.xml` 配置文件和 `TableMapper` 接口需要根据自己的实际情况进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值