Mybatis框架 JDBC操作数据库、动态SQL语句、配置相应的XML文件、注解的SQL语句

本文介绍了Mybatis的基础概念、与JDBC的区别,包括XML配置、操作步骤、参数处理、动态SQL的使用方法。详细讲解了Mybatis如何简化数据库操作,以及其相对于原始JDBC的改进之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.Mybatis

1.1 定义

1.2 实现步骤

1.3 XML配置文件

2.JDBC

2.1 定义和实现

2.2 JDBC的缺点

2.4 Mybatis较于JDBC的优势

3.Mybatis进阶

3.1 预编译SQL,输出日志

3.2 提供的参数占位符 #{...}、${...}

3.3 注解/XML的SQL对比

3.4 动态SQL及其用法

3.4.1

3.4.2  

3.4.3

3.4.4 

3.4.5 声明和引入


1.Mybatis

1.1 定义

MyBatis是一款优秀的 持久层 框架,用于简化JDBC的开发。

持久层和框架这两个词,就是Mybatis特点。

持久层:指的是数据访问层(dao),是用来操作数据库的。


框架:是一个半成品软件,是一套可重用的、通用的、软件基础代码模型。在框架的基础上进行软
件开发更加高效、规范、通用、可拓展。

1.2 实现步骤

1、准备工作(创建springboot工程、数据库表table、实体类pojo)

2、引入Mybatis的相关依赖

3、配置Mybatis(数据库连接信息),以及mysql驱动

4、编写SQL语句

1.3 XML配置文件

创建Xxx.xml文件需要在resources下进行,通过创建目录与Mapper接口所在的包保持一致,

因为创建的是目录,因此包与包之间用"/"分隔。


①. XML映射文件的名称与Mapper接口名称一致,并且将XML映射文件和Mapper接口放置在相同包下(同包同名)

②. XML映射文件的namespace属性的值为Mapper接口全限定名一致


③. XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回的类型要与sql语句的ResultType(需要全类名)保持一致

注意:在编写XML文件时,约束去Mybatis中文网查,然后通过<mapper>标签就可以写相应的sql语句啦。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "https://mybatis.org/dtd/mybatis-3-mapper.dtd">

接下来分析一篇XML文件对应标签的作用:

<!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
<mapper namespace="org.apache.ibatis.submitted.rounding.Mapper">
	<resultMap type="org.apache.ibatis.submitted.rounding.User" id="usermap">
		<id column="id" property="id"/>
		<result column="name" property="name"/>
		<result column="funkyNumber" property="funkyNumber"/>
		<result column="roundingMode" property="roundingMode"/>
	</resultMap>
 
	<select id="getUser" resultMap="usermap">
		select * from users
	</select>
	<insert id=
	    "insert"> insert into users (id, name, funkyNumber, roundingMode) values
	    	( #{id}, #{name}, #{funkyNumber},
	    #{roundingMode})
	</insert>
		
	<resultMap type="org.apache.ibatis.submitted.rounding.User" id="usermap2">
		<id column="id" property="id"/>
		<result column="name" property="name"/>
		<r
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值