热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Mybatis框架搭建

Mybatis框架搭建思路:搭建环境导入Mybatis编写代码测试一.搭建环境创建数据库*NavicatPremiumDataTransfer​SourceServer    :M

Mybatis框架搭建

思路:



  1. 搭建环境



  2. 导入Mybatis



  3. 编写代码



  4. 测试




一.搭建环境



  • 创建数据库

    /*
    Navicat Premium Data Transfer

    Source Server         : Mybatis
    Source Server Type   : MySQL
    Source Server Version : 50528
    Source Host           : localhost:3306
    Source Schema         : mybatis

    Target Server Type   : MySQL
    Target Server Version : 50528
    File Encoding         : 65001

    Date: 03/03/2022 13:11:06
    */

    SET NAMES utf8mb4;
    SET FOREIGN_KEY_CHECKS = 0;

    -- ----------------------------
    -- Table structure for employee
    -- ----------------------------
    DROP TABLE IF EXISTS `employee`;
    CREATE TABLE `employee`  (
     `id` int(10) NOT NULL AUTO_INCREMENT,
     `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
     `age` int(10) NOT NULL,
     `position` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
     PRIMARY KEY (`id`) USING BTREE
    ) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

    -- ----------------------------
    -- Records of employee
    -- ----------------------------
    INSERT INTO `employee` VALUES (1, '张三', 20, '员工');
    INSERT INTO `employee` VALUES (2, '李四', 18, '员工');
    INSERT INTO `employee` VALUES (3, '王五', 35, '经理');

    SET FOREIGN_KEY_CHECKS = 1;




  • 创建数据库连接信息配置文件db.properties

    db.driver = com.mysql.jdbc.Driver
    db.url = jdbc:mysql://localhost:3306/learn-test?useUnicode=true&characterEncoding=utf8
    db.username = root
    db.password = root

     



  • 新建项目,并且在pom.xml中添加项目依赖

    version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
       <modelVersion>4.0.0modelVersion>

       <groupId>com.wfygroupId>
       <artifactId>WorkerartifactId>
       <packaging>pompackaging>
       <version>1.0-SNAPSHOTversion>
       <modules>
           <module>worker-01module>
       modules>
       
       <dependencies>
           
           <dependency>
               <groupId>org.mybatisgroupId>
               <artifactId>mybatisartifactId>
               <version>3.5.2version>
           dependency>
           
           <dependency>
               <groupId>mysqlgroupId>
               <artifactId>mysql-connector-javaartifactId>
               <version>8.0.11version>
           dependency>
           
           <dependency>
               <groupId>junitgroupId>
               <artifactId>junitartifactId>
               <version>4.12version>
               <scope>testscope>
           dependency>
       dependencies>
       <build>
           <resources>
               <resource>
                   <directory>src/main/javadirectory>
                   <includes>
                       <include>**/*.xmlinclude>
                       <include>**/*.propertiesinclude>
                   includes>
               resource>

               <resource>
                   <directory>src/main/resourcesdirectory>
                   <includes>
                       <include>**/*.xmlinclude>
                       <include>**/*.propertiesinclude>
                   includes>
               resource>
           resources>
       build>
    project>

     


    二、创建模块



    • 创建Mybatis的核心配置文件mybatis-config.xml

      version="1.0" encoding="UTF-8" ?>
       PUBLIC "-//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="mapper/UserMapper"/>
       mappers>
      configuration>

       







  • 编写Mybatis工具类

    package utils;

    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;

    import java.io.IOException;
    import java.io.InputStream;

    //SqlSessionFactory --->SqlSession
    public class MybatisUtil {

       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();

      }

    }

     




三.编写代码



  • 实体类User 创建Pojo实体

    package pojo;

    //实体类
    public class User {
       private int id ;
       private  String name;
       private  int age;
       private  String position;

       public User() {
      }

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

       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 int getAge() {
           return age;
      }

       public void setAge(int age) {
           this.age = age;
      }

       public String getPosition() {
           return position;
      }

       public void setPosition(String position) {
           this.position = position;
      }

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

     





  • Dao接口

    version="1.0" encoding="UTF-8" ?>

           PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
           "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="dao.UserDao">
       
     <select id="getUserList" resultType="pojo.User">
        select * from mybatis.employee;
     select>
    mapper>

     





  • 接口实现类

    package dao;

    import pojo.User;

    import java.util.List;

    //Dao接口
    public interface UserDao {

       List<User> getUserList();

    }

     





  • 编写测试类

    package dao;

    import org.apache.ibatis.session.SqlSession;
    import org.junit.Test;
    import pojo.User;
    import utils.MybatisUtil;

    import java.util.List;

    public class UserDaoTest {
       @Test
       public void test ()
      {
           //第一步:获得SqlSession对象
          SqlSession sqlSession= MybatisUtil.getSqlSession();
          //第二步:执行SQL
           UserDao mapper=sqlSession.getMapper(UserDao.class);
          List<User> userList= mapper.getUserList();
           for (User user : userList) {
               System.out.println(user);
          }

           //关闭sqlSession
           sqlSession.close();
      }
    }


  •  




原文链接:https://www.cnblogs.com/wfy-studying/p/15961974.html



推荐阅读
  • MyBatis入门指南:环境搭建与基础配置详解
    本文详细介绍了MyBatis的基础配置流程,包括在Maven项目中添加MyBatis依赖、IDEA中配置数据库连接、导入SQL脚本以及编写mybatis-config.xml配置文件等关键步骤。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文详细介绍了如何使用Rufus工具制作一个兼容UEFI启动模式的Windows Server 2008 R2安装U盘,包括必要的软件和步骤。 ... [详细]
  • 在使用 MySQL 6.0.x 及以上版本的 JDBC 驱动时,若未正确配置 `serverTimezone` 参数,可能会导致连接异常。本文探讨了这一问题的原因及解决方法。 ... [详细]
  • 本文深入探讨了MySQL中的高级特性,包括索引机制、锁的使用及管理、以及如何利用慢查询日志优化性能。适合有一定MySQL基础的读者进一步提升技能。 ... [详细]
  • 本文详细介绍了MySQL InnoDB存储引擎中的Redo Log和Undo Log,探讨了它们的工作原理、存储方式及其在事务处理中的关键作用。 ... [详细]
  • 本文由chszs撰写,详细介绍了Apache Mina框架的核心开发流程及自定义协议处理方法。文章涵盖从创建IoService实例到协议编解码的具体步骤,适合希望深入了解Mina框架应用的开发者。 ... [详细]
  • 使用 Babylon.js 实现地球模型与切片地图交互(第三部分)
    本文继续探讨在上一章节中构建的地球模型基础上,如何通过自定义的 `CameraEarthWheelControl` 类来实现更精细的地图缩放控制。我们将深入解析该类的实现细节,并展示其在实际项目中的应用。 ... [详细]
  • 本文定期更新,涵盖虚拟化技术的基础知识、Xen虚拟机架构详解、KVM架构与原理、QEMU模拟器的功能及使用方法。同时,文章还探讨了不同虚拟化技术之间的比较与联系,以及如何利用这些技术进行网络配置和虚拟磁盘管理。 ... [详细]
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
  • 在CentOS 7中部署Nginx并配置SSL证书
    本文详细介绍了如何在CentOS 7操作系统上安装Nginx服务器,并配置SSL证书以增强网站的安全性。适合初学者和中级用户参考。 ... [详细]
  • 本文介绍了如何通过安装和配置php_uploadprogress扩展来实现文件上传时的进度条显示功能。通过一个简单的示例,详细解释了从安装扩展到编写具体代码的全过程。 ... [详细]
  • 2008年1月,微软发布了两则安全更新公告,分别针对Windows操作系统的不同漏洞。其中一项被评为‘关键’级,另一项为‘重要’级。此次更新并未涉及Microsoft Office产品。 ... [详细]
  • 本文详细介绍了如何通过JDBC连接Hive进行数据操作,包括Hive服务的启动、相关依赖的配置以及具体代码示例,适合对Hive和JDBC有一定了解的开发者阅读。 ... [详细]
  • Python网络编程:深入探讨TCP粘包问题及解决方案
    本文详细探讨了TCP协议下的粘包现象及其产生的原因,并提供了通过自定义报头解决粘包问题的具体实现方案。同时,对比了TCP与UDP协议在数据传输上的不同特性。 ... [详细]
author-avatar
Z-RZI
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有