快速入门Mybatis(简单易学)

前段时间学完JDBC和Maven后,寻思着把Mybatis也顺手学完,做个笔记自己以后也可以好复习,再把我的学习心得分享在平台上大家可以相互学习
结合我所看的视频和资料,学习mybatis可以从以下几个步骤循序渐进:
  1. 创建数据库和表,在表里面添加好数据
  2. 创建模块,导入坐标(也就是导入依赖)
  3. 编写mybatis核心配置文件(里面有一些我们的连接的参数)
  4. 编写sql映射文件(主要解决JDBC中的硬编码问题)
  5. 编码
    • 定义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基本操作流程相关推荐

  1. 手写自己的MyBatis框架-操作流程

    1.定义接口Mapper 和方法,用来调用数据库操作. Mapper 接口操作数据库需要通过代理类. 2.定义配置类对象Configuration. 3.定义应用层的API SqlSession.它有 ...

  2. Mybatis源码解析《一》

    导语 在当前的日常开发中,mybatis这样的一个框架的使用,是很多程序员都无法避开的.大多数人都知道mybatis 的作用是为了避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.因为在开 ...

  3. MyBatis源码流程分析

    mybatis核心流程三大阶段 Mybatis的初始化  建造者模式 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象.这种类型的设计模式属于创建型模式,它提 ...

  4. Mybatis使用总结

    文章目录 前言 mybatis原理 mybatis流程图 MyBatis原理 mybatis使用流程 1. 引出依赖 2.配置全局配置文件(mybatis-config.xml) 3.与数据库表对应p ...

  5. 介绍MyBatis代码生成网站(四) --- 继承基类

    为什么80%的码农都做不了架构师?>>>    一.简介 网址: http://www.fwjava.com 操作流程: 详见" 介绍MyBatis代码生成网站(一) -- ...

  6. 剖析如何自己写框架Struts和Mybatis,学其原理而非重复造轮子

    Java写框架必会几个技术点 关于学习架构,必须会的几点技术 1. java反射技术 2. xml文件处理 3. properties属性文件处理 4. 线程安全机制 5. annocation注解 ...

  7. mybatis萌新基础

    目录 1.基础操作 1.1概念 2.第一个mybitas例子 2.1操作流程 2.2sql映射 2.3创建主配置文件 2.4指定映射位置 2.5测试 2.6事务的提交 2.7数据的插入操作(利用占位符 ...

  8. 【数据库】第四章 JDBC、MyBatis

    第四章 JDBC.MyBatis 文章目录 第四章 JDBC.MyBatis 一.JDBC 1.介绍 2.架构 3.常用接口 4.操作流程 5.模拟登录功能 一.MyBatis 1.导入 pom.xm ...

  9. MyBatis第1天

    # MyBatis第1天 ##MyBatis大纲 ###1 框架概述 ####1.1 什么是框架 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一 ...

最新文章

  1. linux install命令文件夹,详解Linux系统中的install命令的用法
  2. Xamarin iOS开发实战1.1.3Xamarin版本
  3. 微软Citrix合作虚拟化联手对抗VMware
  4. 在Windows 8下成功安装.Net3.5的方法
  5. Oracle 触发器的使用小结
  6. sgi stl 之list
  7. 明天发布的iPhone 11,只剩下价格是悬念了?
  8. 用jquery在必填表单字段前加红星总结
  9. LINUX下查看Apache并发请求数及其TCP连接状态
  10. (已解决)Ubuntu下安装微软常用英文字体:Arial, Times New Roman, Calibri, Cambria等
  11. 兄弟7360/7460其它设备两个USB Device上、Brother BHL2-Maintenance有个问号,扫描仪无法识别
  12. linux cxf服务端,Apache CXF 框架应用实战
  13. Android下实现Google街景
  14. 盘点那些年我们一起玩过的网络安全工具
  15. 服务器打开xlsm文件,XLSM 文件扩展名: 它是什么以及如何打开它?
  16. MySQL math函数
  17. 论文阅读 (64):Weakly-supervised Video Anomaly Detection with Robust Temporal Feature Magnitude Learning
  18. SQL server 数据库视频总结
  19. 东风风神酷我音乐显示服务器错误,评测:东风风神奕炫GS中控屏幕多媒体系统使用说明...
  20. 思路如此简单的购买水果问题

热门文章

  1. 高校电子签应用汇总:1个印控中心,全校职工、学生便捷自助用印
  2. 分享5款轻量级的Win10神器,错过你会后悔的
  3. vr全景创业靠不靠谱,vr全景业务好不好做
  4. jsp下载文本而不是打开
  5. 少导联或单导联脑电中去除肌电的方法
  6. python省略号怎么打_英文标点符号该怎么读?
  7. 安川机器人MotoPlus下载程序说明
  8. 网站配色常用色彩搭配表
  9. Deepin更换镜像源,更换系统软件更新源方法完整整理用html书写。
  10. 双因素方差分析全流程汇总