mybatis基本操作流程
快速入门Mybatis(简单易学)
前段时间学完JDBC和Maven后,寻思着把Mybatis也顺手学完,做个笔记自己以后也可以好复习,再把我的学习心得分享在平台上大家可以相互学习
结合我所看的视频和资料,学习mybatis可以从以下几个步骤循序渐进:
- 创建数据库和表,在表里面添加好数据
- 创建模块,导入坐标(也就是导入依赖)
- 编写mybatis核心配置文件(里面有一些我们的连接的参数)
- 编写sql映射文件(主要解决JDBC中的硬编码问题)
- 编码
- 定义pojo类
- 加载核心配置文件,获取SqlSessionFactory对象
- 获取SqlSession对象,执行sql语句
- 释放资源
1.创建数据库和表,在表里面添加好数
首先建立数据库(mybatis),再建立一个表(user),这个表比较简单就三个属性列,自己操作的时候也可以简单点
2.创建模块,导入坐标
接下来建立一个项目,在在项目之中创建一个模块,如果这个不会操作,可以参考我之前发的----->在IDEA中使用Maven,项目模块的名字都可以随意点,也可以和我的一样啊:
下面主要是对pom.xml文件进行配置,因为我们需要用到mybatis,mysql,那肯定需要mybatis,mysql的驱动。还有就是junit的坐标了,其他的花里胡哨的配置咱们就不弄了,等把基础掌握之后再去考虑:
3.编写mybatis核心配置文件
在配置之前,首先咱们去到mybatis官网----->Mybatis官网,在官网里面点击入门,这些入门的内容就是我们接下来要做的操作了,回到IDEA。在main的java目录下的resources文件夹下创建一个配置文件mybatis-config.xml(和官方给的名字保持一致),这个问价就是我们的核心配置文件:
接下来在官网里面找到核心配置文件的内容,直接粘贴过来(后面还需要修改):
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//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="${driver}"/><property name="url" value="${url}"/><property name="username" value="${username}"/><property name="password" value="${password}"/></dataSource></environment></environments><mappers><mapper resource="org/mybatis/example/BlogMapper.xml"/></mappers>
</configuration>
粘贴之后,按照下图进行修改:
修改之后如下:
4.编写sql映射文件
编写sql映射文件,那我们首先创建一个sql映射文件:还是在resources下创建UserMappe.xml文件:
去官网找到sql映射文件里面应该写的东西,直接复制粘贴过来:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.mybatis.example.BlogMapper"><select id="selectBlog" resultType="Blog">select * from Blog where id = #{id}</select>
</mapper>
需要对以下的各项进项解释:
- namespace:类似于主函数差不多,起个名字,当有个模块时可以通过namespace的不同去区分相同的操作,随便叫个test
- id:功能函数一样,名字需要具有可读性,让别人知道你在干啥,比如我要查询所有的,我就可以叫selectAll
- resultType:查询结果返回的类型,一般来说都是把对象放到集合中进行返回的,所以我们需要建立一个操作的类,在main的java下创建com.bin.pojo.User(后面也会说的),暂时知道这个地方填啥就行:com.bin.pojo.User即可
- sql:根据你要做的不同操作去写,比如我要查询所有,我就可以写:select * from user(这是我的表名)
修改之后如下:
上面创建了User类,因为要作为返回值,肯定返回的是数据库中表的内容,所以根据数据库中表的内容的属性来创建类的变量:
创建完之后,我们重新打开mybatis-config.xml文件,修改一下里面UserMapper的路径,刚刚我们没有修改,还是默认值,现在将其修改下:
修改之后如下:
5.编码
既然前面操作完成好了。我们就可以最后的测试了。我写了这么多,整个人都麻了
首先是在bin下创建一个测试类(名字随意哈):
写上主函数后就得考虑加载核心配置文件,这个加载的步骤在官网里面也有,不需要记忆,以后用的时候知道在哪里找就行:
String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
将这个复制到主函数后发现报错了,是因为包没有导入:
选择第一个,一个一个导入即可:
接下来:
紧接着,我们开始创建SqlSessionFactory对象:
最后:
结果展示:
总结:真的不容易,全部写好了,写到这里只是最基本的会了,还有增删改操作还需要去查询,一定要自己总结,这样才可以学好,注意步骤和过程,有问题可以一起谈论啊,每天进步一点点,做个技术大佬!
mybatis基本操作流程相关推荐
- 手写自己的MyBatis框架-操作流程
1.定义接口Mapper 和方法,用来调用数据库操作. Mapper 接口操作数据库需要通过代理类. 2.定义配置类对象Configuration. 3.定义应用层的API SqlSession.它有 ...
- Mybatis源码解析《一》
导语 在当前的日常开发中,mybatis这样的一个框架的使用,是很多程序员都无法避开的.大多数人都知道mybatis 的作用是为了避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.因为在开 ...
- MyBatis源码流程分析
mybatis核心流程三大阶段 Mybatis的初始化 建造者模式 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象.这种类型的设计模式属于创建型模式,它提 ...
- Mybatis使用总结
文章目录 前言 mybatis原理 mybatis流程图 MyBatis原理 mybatis使用流程 1. 引出依赖 2.配置全局配置文件(mybatis-config.xml) 3.与数据库表对应p ...
- 介绍MyBatis代码生成网站(四) --- 继承基类
为什么80%的码农都做不了架构师?>>> 一.简介 网址: http://www.fwjava.com 操作流程: 详见" 介绍MyBatis代码生成网站(一) -- ...
- 剖析如何自己写框架Struts和Mybatis,学其原理而非重复造轮子
Java写框架必会几个技术点 关于学习架构,必须会的几点技术 1. java反射技术 2. xml文件处理 3. properties属性文件处理 4. 线程安全机制 5. annocation注解 ...
- mybatis萌新基础
目录 1.基础操作 1.1概念 2.第一个mybitas例子 2.1操作流程 2.2sql映射 2.3创建主配置文件 2.4指定映射位置 2.5测试 2.6事务的提交 2.7数据的插入操作(利用占位符 ...
- 【数据库】第四章 JDBC、MyBatis
第四章 JDBC.MyBatis 文章目录 第四章 JDBC.MyBatis 一.JDBC 1.介绍 2.架构 3.常用接口 4.操作流程 5.模拟登录功能 一.MyBatis 1.导入 pom.xm ...
- MyBatis第1天
# MyBatis第1天 ##MyBatis大纲 ###1 框架概述 ####1.1 什么是框架 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一 ...
最新文章
- linux install命令文件夹,详解Linux系统中的install命令的用法
- Xamarin iOS开发实战1.1.3Xamarin版本
- 微软Citrix合作虚拟化联手对抗VMware
- 在Windows 8下成功安装.Net3.5的方法
- Oracle 触发器的使用小结
- sgi stl 之list
- 明天发布的iPhone 11,只剩下价格是悬念了?
- 用jquery在必填表单字段前加红星总结
- LINUX下查看Apache并发请求数及其TCP连接状态
- (已解决)Ubuntu下安装微软常用英文字体:Arial, Times New Roman, Calibri, Cambria等
- 兄弟7360/7460其它设备两个USB Device上、Brother BHL2-Maintenance有个问号,扫描仪无法识别
- linux cxf服务端,Apache CXF 框架应用实战
- Android下实现Google街景
- 盘点那些年我们一起玩过的网络安全工具
- 服务器打开xlsm文件,XLSM 文件扩展名: 它是什么以及如何打开它?
- MySQL math函数
- 论文阅读 (64):Weakly-supervised Video Anomaly Detection with Robust Temporal Feature Magnitude Learning
- SQL server 数据库视频总结
- 东风风神酷我音乐显示服务器错误,评测:东风风神奕炫GS中控屏幕多媒体系统使用说明...
- 思路如此简单的购买水果问题