mybatis初体验(细节满满)

news2024/9/20 10:41:55

1.创建数据表(库名为:mayikt)

CREATE TABLE `mayikt_user` (
  `id` int NOT NULL AUTO_INCREMENT,
  `username` varchar(20) DEFAULT NULL,
  `userpwd` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb3

2.创建maven项目

没下载安装或者不会创建的小伙伴可以看这里:maven的下载安装与配置环境变量!!!(全网最详细)_明天更新的博客-CSDN博客

创建完成后配置pom.xml文件:

<dependencies>
        <!-- /org.mybatis/mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.13</version>
        </dependency>
        <!-- com.mysql/mysql-connector-j -->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>8.1.0</version>
        </dependency>

    </dependencies>

3.在main文件夹下的resources文件夹下创建mybatis-config.xml(该配置文件名称是可以改) 存放就是我们数据库相关连接信息

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        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="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/mayikt?serverTimezone=GMT%2B8"/>
                <property name="username" value="root"/>
                <property name="password" value=""/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="mapper/userMapper.xml"/>
    </mappers>
</configuration>

 4.定义mapper ----编写我们mybatis 相关 sql语句 每个表 对应一个mapper

<?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="userMapper">
    <select id="getByUsers" resultType="com.entity.UserEntity">
        select * from mayikt_user
    </select>
</mapper>

 5.定义java对象--需要注意下 类中的 成员属性与数据库表中字段 映射 默认 类中的 成员属性数据库表中字段名称对应的

/*
 * Copyright (c) 2020, 2023,  All rights reserved.
 *
 */
package com.entity;

/**
 * <p>Project: mybatis-dome - UserEntity</p>
 * <p>Powered by scl On 2023-09-08 10:18:39</p>
 * <p>描述:<p>
 *
 * @author 孙臣龙 [1846080280@qq.com]
 * @version 1.0
 * @since 17
 */
public class UserEntity {
   private Integer id;
   private String username;
   private String userpwd;

    public Integer getId() {
        return id;
    }

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

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getUserpwd() {
        return userpwd;
    }

    public void setUserpwd(String userpwd) {
        this.userpwd = userpwd;
    }

    @Override
    public String toString() {
        return "UserEntity{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", userpwd='" + userpwd + '\'' +
                '}';
    }
}

 6.测试,使用 mybatis api开始执行该 sql语句即可 得到结果

/*
 * Copyright (c) 2020, 2023,  All rights reserved.
 *
 */
package com.test;

import com.entity.UserEntity;
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;
import java.util.List;

/**
 * <p>Project: mybatis-dome - Test01</p>
 * <p>Powered by scl On 2023-09-08 10:29:37</p>
 * <p>描述:<p>
 *
 * @author 孙臣龙 [1846080280@qq.com]
 * @version 1.0
 * @since 17
 */
public class Test01 {
    public static void main(String[] args) throws IOException {
        // 1.读取加载mybatis-config.xml
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        // 2.获取到获取到
        SqlSession sqlSession = sqlSessionFactory.openSession();
        // 3.根据 mapper id=getByUsers 执行该s  ql 语句 通过  sql语句得到我们的对象 orm
        List<UserEntity> userEntitys = sqlSession.selectList("getByUsers", UserEntity.class);
        System.out.println(userEntitys);
        sqlSession.close();
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/987799.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT for andriod

QT for andriod 开发 apk软件&#xff0c;因为一些特殊的原因&#xff0c;在这里简单的记录一哈自己开发apk的流程和心得。 首先说明我采用的环境有哪些&#xff1f; 1、QT的版本&#xff0c;个人建议5.15.2的版本及以上&#xff0c;我是用的5.15.2。 2、andriod studio 可以…

日期--data与String的相互转换

首先我们要明确 yyyy-MM-dd HH:mm:ss 其中y:年份 MM:月份 dd:天 HH:小时 mm&#xff1a;分 ss&#xff1a;秒 date转String // 获取当前时间LocalDateTime dateLocalDateTime.now(); // 设置日期格式DateTimeFormatter formatterDateTimeFormatter.ofPattern("yyyy-MM-dd…

步进电机选型-根据应用场景

步进电机选型-根据应用场景 在线计算传动机构与步进电机选型问题&#xff0c;这个网站挺好用的 https://www.orientalmotor.com.cn/guide/motorsizingtool/[电机选型]

【C++】C++11新特性 function

包装器function 一、包装器的引入二、包装器的介绍三、bind函数的介绍 一、包装器的引入 在C中我们的可调用对象是很多的&#xff0c;例如函数指针&#xff0c;仿函数&#xff0c;lambda表达式&#xff0c;这多的可调用对象极大的丰富了C的功能&#xff0c;但是也给我们带来了…

Python continue 语句

Python continue 语句跳出本次循环&#xff0c;而break跳出整个循环。 continue 语句用来告诉Python跳过当前循环的剩余语句&#xff0c;然后继续进行下一轮循环。 continue语句用在while和for循环中。 Python 语言 continue 语句语法格式如下&#xff1a; continue 流程图…

PaddleOCR训练部署文档

Cuda安装 wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run sh cuda_11.6.0_510.39.01_linux.run#可能会报错&#xff0c;查看/var/log/nvidia-installer.log &#xff0c;kill -9 [ID]可以解决vim ~/.bash…

计算机网络 第一章:概述

目录 一.因特网概述 1.1网络、互联网(互连网)和因特网 1.2internet与Internet的区别 1.3因特网服务提供者ISP(Internet Service Provider) 1.4因特网组成 二.三种交换方式 2.1电路交换 2.2分组交换(重点) 2.3报文交换 三.计算机网络的定义和分类 四.计算机网络的性能…

前端居中截取不同形状的图片

开发的时候拿到这样一个需求: 意思就是要居中截取图片,这个功能跟微信朋友圈的九宫格显示功能差不多的效果。 方案一 用样式居中,这种方案适合紧急情况下的临时方案 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8&…

华为云云耀云服务器L实例评测|基于华为云云耀云服务器L实例搭建MySQL集群并开展性能评测

文章目录 华为云云耀云服务器L实例的使用搭建MySQL集群环境搭建安装MySQL数据库 集群搭建安装Galera Cluster配置MySQL启动集群 性能测试安装sysbench创建测试数据库运行性能测试 使用Superset从MySQL数据源中获取数据进行分析准备工作配置MySQL数据源从MySQL数据源中获取数据 …

基于Java+SpringBoot+Vue前后端分离的房屋租赁管理系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 房屋租赁管理系统是一…

029:vue项目,勾选后今天不再弹窗提示

第029个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

【校招VIP】前端算法考察之字符串

考点介绍 说到字符串算法我们最先想到的就是模式匹配问题&#xff0c;所谓模式匹配就是字符串匹配问题&#xff0c;就是在一个长的主串中寻找子串的过程&#xff0c;如果我们直接暴力匹配那就是最基本的BF算法&#xff1b;KMP算法与BF算法最大的区别区别就是主串不进行回溯。 …

PaddleOCR学习笔记1-初步尝试

尝试使用PaddleOCR方法&#xff0c;如何使用自定义的模型方法&#xff0c;参数怎么配置&#xff0c;图片识别尝试简单提高识别率方法。 目前仅仅只是初步学习下如何使用PaddleOCR的方法。 一&#xff0c;测试识别图片&#xff1a; 1.png : 正确文本内容为“哲学可以帮助辩别现…

向左偏移的云应用容器监控方法

向左偏移是一种在软件开发生命周期的早期强调测试、监控和自动化的软件开发和操作方法。向左偏移方法的目标是通过尽早发现问题并迅速解决&#xff0c;从而预防问题的发生。 当您尽早发现可扩展性问题或错误时&#xff0c;解决它将更加迅速和经济高效。将低效的代码移动到云容…

使用Jsmooth打包JavaFx程序为EXE文件

配置IDEA 第一步&#xff1a; 第二步&#xff1a; MANIFEST.MF的文件路径&#xff0c;必须在resources文件夹中&#xff0c;如果没有&#xff0c;就创建一个。 第三步&#xff1a;配置项目所需jar包的相对路径 最后&#xff1a; 点击确定后&#xff0c;编译Jar 配置Jsmooth …

Docker从认识到实践再到底层原理(四-1)|Docker镜像仓库|超详细详解

前言 那么这里博主先安利一些干货满满的专栏了&#xff01; 首先是博主的高质量博客的汇总&#xff0c;这个专栏里面的博客&#xff0c;都是博主最最用心写的一部分&#xff0c;干货满满&#xff0c;希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…

k8s node环境部署(三)

1、添加node1、node2环境 前面配置master环境的截图最后一段 复制下来 分别在node主机执行 kubeadm join 192.168.37.132:6443 --token p5omh3.cqjqt8ymrwkdn2fc \ --discovery-token-ca-cert-hash sha256:608a1cbadd060cfdeac2fae84c19609061b750ab51bf9a19887ff7ea…

恒运资本:消费电子概念再爆发,冠石科技三连板,捷荣技术9日大涨127%

消费电子概念8日盘中再度走高&#xff0c;截至发稿&#xff0c;利和兴涨近15%&#xff0c;日久光电、冠石科技、捷荣技能、华映科技、东睦股份等涨停&#xff0c;大富科技涨超7%。 值得注意的是&#xff0c;冠石科技已接连3日涨停&#xff0c;公司昨日晚间发布危险提示称&…

数字钥匙关键技术:UWB(超宽带)实现原理一文讲透

在之前的文章《一文讲透超宽带&#xff08;UWB&#xff09;前世今生》中&#xff0c;我们从起源、定义、标准、发展、应用等角度概述了UWB技术。根据UWB的特性&#xff0c;其基础功能分为&#xff1a;数据传输、雷达成像、测距定位。接下来我们将概述其数据传输和雷达成像功能&…

YOLOV7改进-对小目标有效的BiFormer注意力机制

如果要在sppcspc后面加一个注意力模块BiFormer 1、 普通加 1、models-common.py搜这个模块 2、直接加 3、全部复制下来&#xff0c;models新建文件 4、common导入进来 5、填上一层的输出通道数 2、模块里加 难点&#xff1a;在配置文件找到对应的这一块 yolov7x中 1、…