Mybatis的简介+简单实现增删改查案例
@
总结内容
1. 基本概念
- Mybatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。
2. Mybatis的使用
需求
- 实现简单增删改查
代码地址:https://blog.csdn.net/zzvar/article/details/115830222
配置文件简介
添加项目需要的jar包
1)mysql-connection-java-5.1.26-bin.jar(jar包可以根据自己需要更换)
MySQL数据库的JDBC驱动包,访问MySQL必须导入的jar包
2)mybatis-3.4.5.jar(jar包可以根据自己需要更换)
MyBatis 框架的核心jar包XxxMapper.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">
<!-- mapper 是跟标签,只能有一个
namespace 属性,对应的值必须是改文件所在包名 + "." + 该文件的名称(不带后缀名)
用于区分sql的唯一性-->
<mapper namespace="com.yy.homework.mapper.TeacherMapper">
<!-- insert 标签 id 属性,它是唯一标识符,指在当前文件中必须是唯一的
目的:表示 sql 唯一性 -->
<!-- 原因:在开发中,如果需要获取到数据库中自动生成的主键,可以通过mybatis来实现
useGeneratedkeys: 表示当前文件中唯一
keyProperty: 表示是否需要获取主键的值
parameterType: 传入参数的类型(一般不写)-->
<!-- #{变量} 整体是占位符,相当于 preparedStatement 中的 ?
变量:如果传入的参数类型是简单类型(包含String),可以随便使用变量使用变量名
如果传入的参数类型是对象类型,必须使用对象中的属性的名称 -->
<insert id="delete">
delete from Teacher where userID = #{userID}
</insert>
<!-- resultType 设置数据的类型,高数MyBatis框架,让 MyBatis 把数据库返回的数据封装成 resultType 类型的对象
resultMap 处理表中的列的名称和类中属性名称不一致的情况的映射关系 -->
<select id="selectAll" resultType="com.yy.domain.Teacher>
select * from Teacher
</select>
</mapper>
- 理解:MyBatis 的执行流程
1)加载主配置文件(mybatis-config.xml)到内存中,将数据封装到对象(Configuration/Environment/TransactionManager/DataSource等)
2)通过操作拿到访问数据库的基本信息,根据这些数据创建SqlSessionFactory对象
3)从SqlSessionFactory对象中获取到SqlSession对象,然后执行SQL
4)insert into user(name,age,salary,hiredate) values(#{name},#{age},#{salary},#{hiredate}); 被翻译成 insert into user(name,age,salary,hiredate) values(?,?,?,?);
5)使用PreparedStatement来执行指定的SQL,从传递进来的User对象中依次获取到name/age/salary/hiredate 这些属性的值,这里需要使用到内省机制来访问对象中的属性。
总结
以上就是 jdbc 连接数据库的总结了,代码仅供参考,欢迎讨论交流。
Mybatis的简介+简单实现增删改查案例的更多相关文章
- SSM框架之MyBatis框架实现简单的增删改查
MyBatis框架介绍 MyBatis是一个优秀的数据持久层框架,在实体类和SQL语句之间建立映射关系是一种半自动化的ORM实现,其封装性要低于Hibernate,性能优越,并且小巧,简单易学,应用也 ...
- mybatis实现最简单的增删改查
1.数据库设计 2.项目结构(针对User不用管Blogger) User.java package com.yunqing.mybatis.bean; public class User { pri ...
- springboot(三 使用mybatis +springboot 完成简单的增删改查)
先说一些注解: @EnableAutoConfiguration 可以帮助SpringBoot应用将所有符合条件的@Configuration配置都加载到当前SpringBoot创建并使用的IoC容器 ...
- MyBatis学习--简单的增删改查
jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...
- MyBatis简单的增删改查以及简单的分页查询实现
MyBatis简单的增删改查以及简单的分页查询实现 <? xml version="1.0" encoding="UTF-8"? > <!DO ...
- 通过JDBC进行简单的增删改查
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
- SpringMVC之简单的增删改查示例(SSM整合)
本篇文章主要介绍了SpringMVC之简单的增删改查示例(SSM整合),这个例子是基于SpringMVC+Spring+Mybatis实现的.有兴趣的可以了解一下. 虽然已经在做关于SpringMVC ...
- SpringBoot+Mybatis+Maven+MySQL逆向工程实现增删改查
SpringBoot+Mybatis+MySQL+MAVEN逆向工程实现增删改查 这两天简单学习了下SpringBoot,发现这玩意配置起来是真的方便,相比于SpringMVC+Spring的配置简直 ...
- 通过JDBC进行简单的增删改查(以MySQL为例) 目录
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
随机推荐
- salesforce零基础学习(一百一十二)项目中的零碎知识点小总结(四)
本篇参考: https://trailblazer.salesforce.com/issues_view?id=a1p4V0000003znDQAQ https://salesforce.stacke ...
- centos7运行system-config-kickstart时报错
centos7运行system-config-kickstart时在Package Selection模块中出现如下错误: Package Selection Packageselection is ...
- linux shell编程流程控制
条件选择 单分支条件 多分支条件 选择执行if语句 单分支 if 判断条件;then 条件为真的分支代码 fi 双分支 if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 f ...
- Netty异步Future源码解读
本文地址: https://juejin.im/post/5df771ee6fb9a0161d743069 说在前面 本文的 Netty源码使用的是 4.1.31.Final 版本,不同版本会有一些差 ...
- Lua中如何实现类似gdb的断点调试—09支持动态添加和删除断点
前面已经支持了几种不同的方式添加断点,但是必须事先在代码中添加断点,在使用上不是那么灵活方便.本文将支持动态增删断点,只需要开一开始引入调试库即可,后续可以在调试过程中动态的添加和删除断点.事不宜迟, ...
- 高级IO模型之kqueue和epoll
目录 简介 block IO和nonblocking IO IO多路复用和select poll epoll kqueue epoll和kqueue的优势 简介 任何一个程序都离不开IO,有些是很明显 ...
- Python可变参数*args和**kwargs
本文我们将通过示例了解 Python函数的可变参数*args和 **kwargs的用法. 知识预备:Python 函数和 Python 函数参数 在Python编程中,我们定义一个函数来生成执行类似操 ...
- python轻松入门——爬取豆瓣Top250时出现403报错
关于爬虫程序的418+403报错. 1.按F12打开"开发者调试页面"如下图所示:按步骤,选中Network,找到使用的接口,获取到浏览器访问的信息. 我们需要把自己的python ...
- chili
靶机准备 首先将靶机ova文件导入 网络模式改为NAT 扫描ip netdiscover -r 192.168.164.0/24 kali:192.168.164.137 渗透测试 扫描端口 nmap ...
- Github使用指南(学习中随时更新)
注册好一个账号后先创建一个仓库 点击"Create repository"创建一个版本库 填好带*号的必填项,选择是要公开仓库还是私人使用,勾选自动添加README选项 READM ...