mybatis快速上手并运行程序

1.Mybatis概述

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

可能大家读不太懂上面的话,觉得写的很官方,但这也确实是mybatis官方目录对于mybatis的解释。我们暂时还不了解mybatis,但相信大家都学过JDBC,它的操作方式繁杂,SQL代码和Java代码高度耦合,无论是学习的人还是使用的人都觉得繁琐,所以mybatis应用而生(当然还有hibernate这个框架,不过已经被淘汰了)。正如官方文档加深字体所说,mybatis就是一个为了来优化JDBC代码的持久层框架。

2.Mybatis快速入门

Mybatis环境搭建步骤:

        1.创建maven项目,导入对应需要的jar包

        2.编写mapper映射文件和mybatis全局配置文件

        3.创建一个pojo类,在数据库中建立对应表,编写mapper配置文件

        4.编写mybatisUtils工具类,得到sqlSessionFactory对象

        5.进行test测试,通过工具类sqlSession实例来获得mapper,调用映射文件中的SQL语句完成CRUD操作

1.创建maven项目

在pom.xml中导入依赖

mybatis需要的依赖

  <dependencies>
        <!--MySQL驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <!--mybatis包-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.2</version>
        </dependency>
        <!--junit-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>

2.编写mapper映射文件和mybatis全局配置文件

编写Mapper文件(也就是接口)

编写对应的Mapper.xml文件

在resource下建立一个mybatis—config.xml

导入核心配置信息,注意我标注的地方需要根据自己数据库的地方进行更改           

<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--configuration核心配置文件-->
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <!--每一个Mapper.XML都需要在Mybatis核心配置文件中注册-->
    <mappers>
        <mapper resource="com/kaung/dao/UserMapper.xml"/>
    </mappers>
</configuration>

3.编写一个User类

public class User {
    private int id;
    private String name;
    private String password;

    public User() {
    }
    public User(int id, String name, String password) {
        this.id = id;
        this.name = name;
        this.password = password;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

在数据库中建立对应的表(CRUD自己手写)

4.编写一个mybatis工具类,获得SqlSession对象

在java下建一个utils包,建立一个MybatisUtils工具类

//工具类 sqlSessionFactory -->sqlSession
public class MybatisUtils {
    private static SqlSessionFactory sqlSessionFactory;
    static {
        try {
            //使用mybatis获取sqlSessionFactory对象
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    //既然有了 SqlSessionFactory,顾名思义,
    // 我们可以从中获得 SqlSession 的实例。SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。
    // 你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。

    public static SqlSession getSqlSession() {
          return sqlSessionFactory.openSession();
    }
}

5.test进行测试,查询所有User

public class UserDaoMapperTest {
    @Test
    public void test(){
        //1.获得sqlSession对象
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        //方法1:getMapper
        UserDaoMapper userDaoMapper = sqlSession.getMapper(UserDaoMapper.class);
        List<User> userList= userDaoMapper.getUserList();
        for (User user:userList){
            System.out.println(user);
        }
        //关闭sqlSession
        sqlSession.close();
    }
}

到此这篇关于mybatis快速上手并运行程序的文章就介绍到这了,更多相关mybatis 入门内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • MyBatis入门学习教程-MyBatis快速入门

    目录 Mybatis 一.快速开始 1.创建 Maven 项目 2.导入 Maven 依赖 3.配置 Maven 插件 4.新建数据库,导入表格 5.编写 Mybatis 配置文件 6.编写实体类 7.编写 mapper 接口 8.编写 mapper 实现 9.Mybatis 配置文件中,添加 mapper 映射 10.编写 Mybatis 工具类 11.测试 二.日志添加 1.添加 Maven 依赖 2.添加 log4j 配置 3.Mybatis 中配置 LOG 4.执行测试 三.Mybati

  • 基于Mybatis的配置文件入门必看篇

    Mybatis 配置文件入门 从这篇文章开始,我们将从其核心配置文件入手,对Mybatis支持的核心配置文件进行简单详细的描述. 从下面这段代码是我们在使用mybatis前的配置初始化过程 我们通过阅读其源码来逐步了解内部实现原理. // Mybatis 通过SqlSessionFactory获取SqlSession, 然后才能通过SqlSession与数据库进行交互 private static SqlSessionFactory getSessionFactory() { SqlSessio

  • Java持久层框架Mybatis入门详细教程

    mybatis介绍 mybatis它是轻量级持久层框架,由ibatis演化而来.它自动连接数据库,将数据库的结果集封装到对象中POJO. POJO: 一个简单的Java类,这个类没有实现/继承任何特殊的java接口或者类,不遵循任何主要java模型,约定或者框架的java对象.在理想情况下,POJO不应该有注解. JavaBean: JavaBean是可序列化的,实现了serializable接口 具有一个无参构造器 有按照命名规范的set和gett,is(可以用于访问布尔类型的属性)方法 My

  • 深入浅出JAVA MyBatis-快速入门

    目录 创建项目前的环境搭建 简介 特点 (开始)创建Maven项目,导入依赖 创建一个新的Maven项目 (开始)在数据库中创建表 创建表详细信息 从 XML 中构建 SqlSessionFactory 总结: 创建项目前的环境搭建 本篇使用工具: 1.JDK:jdk1.8 2.Mysql l数据库 :mysql-5.7.31-winx64 3.Maven 开发工具 :apache-maven-3.8.1 4.IDEA开发工具: IntelliJ IDEA 2020.1.3 x64 在这里我们使

  • 一小时迅速入门Mybatis之Prepared Statement与符号的使用

    目录 一.用一用 PreparedStatement 二.用一用 Statement 三.Mybatis #{} ${} 的使用 四.ResultMap ResultType的区别 引入Mysql的Jar包以及表结构前几篇已经有了这里就不赘述了 一.用一用 PreparedStatement import java.math.BigDecimal; import java.sql.*; /** * @author 发现更多精彩 关注公众号:木子的昼夜编程 * 一个生活在互联网底层,做着增删改查的

  • SpringBoot整合mybatis-plus快速入门超详细教程

    目录 前言 mybatis-plus 简介 mybatis-plus 优点 相关链接 mybatis-plus实例 1.示例项目结构 2.数据库准备 3.pom.xml: 4.application.yml 5.User.java 6.UserMapper.java 7.UserServiceImpl.java 8.测试类 mybatis-plus的crud: 1.insert操作: 2.select操作: 3.update操作: 4.delete操作: 总结 前言 mybatis-plus 简

  • mybatis-plus中BaseMapper入门使用

    目录 入门使用BaseMapper完成增删改查 BaseMapper各方法详解 Insert Delete Update Select 具体教程参考官网文档: baomidou.com/ 入门使用BaseMapper完成增删改查 根据数据库表制作相应实体类 @TableName(value = "user") public class User implements Serializable { private static final long serialVersionUID =

  • SpringBoot MyBatis简单快速入门例子

    目录 一.MyBatis简介 二.MyBatis使用步骤 一.MyBatis简介 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作.MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型.接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录. 二.MyBatis使用步骤 1.MyBatis工程总体目录结构 2

  • JAVA MyBatis入门学习过程记录

    目录 一.Mybatis 1.mybatis-config.xml 2.Mapper.xml 3.db.properties 4.MybatisUtils工具类 5.多对一AND多对一: 6.使用注解开发 7.自定义缓存:ehcache 8.mybatis 其他工具 二.MAVEN资源导出错误解决 三.常用依赖导入 四.LOG4J 1.log4j.properties 配置文件 2.log4j 在mybatis-config.xml的配置 3.使用场景 好用的插件: 1.lombok 总结 一.

  • mybatis快速上手并运行程序

    1.Mybatis概述         MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作.MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型.接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录. 可能大家读不太懂上面的话,觉得写的很官方,但这也确实是mybatis官方目录对于mybatis的解释.我们暂

  • Python编程快速上手——疯狂填词程序实现方法分析

    本文实例讲述了Python疯狂填词程序实现方法.分享给大家供大家参考,具体如下: 题目如下: 创建一个疯狂填词程序,它将读入文件,并让用户在该文本文件中出现ADJECTIVE,NOUN,ADVERB,VERB等单词的地方,加上它们自己的文本. 例如源文本如下: The ADJECTIVE panda walked to the NOUN and then VERB. A nearby NOUN was unaffected by these events. 程序将找到这些出现的单词,提示用户取代

  • 微信小程序的mpvue框架快速上手指南

    一.什么是mpvue框架? mpvue 是一个使用 Vue.js 开发小程序的前端框架.框架基于 Vue.js 核心(所以建议熟练掌握vue再使用mpvue框架,否则还是建议去使用原生框架去写小程序),mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小程序开发引入了整套 Vue.js 开发体验. 二.必要的开发基础 ① 熟练掌握vue.js(未曾使用过vue这个框架的话,建议vue的官方文档进行学习:https://cn.vue

  • Python如何快速上手? 快速掌握一门新语言的方法

    那么Python如何快速上手?找来了一篇广受好评的新语言学习方法介绍,供大家参考. 听说,你决定要为你的 "技能树" 再添加一门特定的编程语言.那该怎么办呢? 在这篇文章中,作者提出了 12 项关于学习技术的建议.记住每个人学习的方式都不一样.其中一些可能对你十分有用,而其他的则可能无法满足你的需求.如果你开始担心一个策略,请尝试另一个策略并看看它哪里适合你. 1. 将其与类似的语言进行比较.当你首次观看有关该语言的第一个教程或阅读代码时,请尝试猜测该语言的每个部分将会做什么,并检查你

  • 5分钟快速上手Spring Boot

    概述 与一些动态语言(如Ruby.Groovy.Node.js)相比,Java开发显得异常笨重.接触过外包项目的朋友也有所了解,如果要开发一个小型项目,首选的编程语言并不是Java,而是PHP.为什么呢?因为开发起来快!目前很多大型互联网公司的早起编程语言都是类似PHP这种能够快速开发的语言. 既然问题出现了,那必然有解决问题的方案,SpringBoot做到了.SpringBoot是由Pivotal公司所属团队研发,该公司的企业宗旨为: 致力于"改变世界构造软件的方式(We are transf

  • React+Webpack快速上手指南(小结)

    前言 这篇文章不是有关React和Webpack的教程,只是一篇能够让你快速上手使用目前这两种热门技术的前端指南,并假设你对两者有一个基本的认识.如果你想先行了解下React,可以放肆的移步至 React官方教程,如果你已经使用了其他的模块加载与资源打包技术,不妨也来看看 Webpack提供的思路. webstorm+react+webpack 强烈推荐使用webstorm!.(当然你完全可以使用诸如atom,Sublime之类的编辑器,但之所以选择webstorm是因为它默认支持对react

  • 还在用if(obj!=null)做非空判断,带你快速上手Optional

    1.前言 相信不少小伙伴已经被java的NPE(Null Pointer Exception)所谓的空指针异常搞的头昏脑涨, 有大佬说过"防止 NPE,是程序员的基本修养."但是修养归修养,也是我们程序员最头疼的问题之一,那么我们今天就要尽可能的利用Java8的新特性 Optional来尽量简化代码同时高效处理NPE(Null Pointer Exception 空指针异常) 2.认识Optional并使用 简单来说,Opitonal类就是Java提供的为了解决大家平时判断对象是否为空

  • 一篇文章带你从零快速上手Rollup

    前言 项目中一直用的都是webpack,前一段需要开发几个类库供其他平台使用,本来打算继续用webpack的,但感觉webpack用来开发js库,不仅繁琐而且打包后的文件体积也比较大.正好之前看vue源码,知道vue也是通过rollup打包的.这次又是开发类库的,于是就快速上手了rollup. 本篇文章是我有了一定的项目实践后,回过来给大家分享一下如何从零快速上手rollup. 什么是rollup? 系统的了解rollup之前,我们先来简单了解下What is rollup? 关于rollup的

  • 带你快速上手Servlet

    一.Servlet与Tomcat的关系 (1)Tomcat是什么? Tomcat其实是Web服务器和Servlet容器的结合体 (2)什么是Web服务器? 比如,我当前在杭州,你能否用自己的电脑访问我桌面上的一张图片?恐怕不行,我们太习惯通过URL访问的一个网站.下载一部电影了.一个资源,如果没有URL映射,那么外界几乎很难访问,而Web服务器的作用说穿了就是:将某个主机上的资源映射为一个URL供外界访问 二.什么是Servlet (1)什么是Servlet容器? Servlet是运行在Web服

  • 帮你快速上手Jenkins并实现自动化部署

    一.下载与安装 Jenkins的下载可以直接在官网下载,方式还是比较简单的,官网提供了具体的下载和安装的步骤. sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key # 安装 yum install jenkins -y # 启

随机推荐