首页 > 其他分享 >Mybatis快速入门(一个案例带你入门mybatis)

Mybatis快速入门(一个案例带你入门mybatis)

时间:2024-10-28 11:45:14浏览次数:9  
标签:入门 gender id Mybatis String pass mybatis public name

 mybatis是一款持久层框架,主要用于简化jdbc(java语言中用于操作关系型数据库的一套api,不懂的可以看我上一篇文章)。

既然是用来操作数据库的,那么我就以查询一个数据表中的数据为案例来入门mybatis。

要想查询数据表中的数据就得先有数据,所以我就先来创建一个数据表。

创建数据表

像下面这样

create database yao;
use yao;

create table y_user(
id int primary key auto_increment,
name varchar(20),
pass varchar(20),
gender char(1)
);

insert into y_user values(1,'张三','123','男');
insert into y_user values(2,'李四','123','男');
insert into y_user values(3,'翠花','123','女');

表创建好了,接下来就是用java语言,mybatis框架来执行sql语句查询y_user表中的数据。

创建模块,导入坐标

像下图一样在idea中创建一个Maven模块,模块名称可以自己取

导入坐标(很关键的一步,没有导入后面也就没法继续)

在pom.xml文件中输入一下代码(第一次导入对应坐标时,idea会自动将其下载至本地仓库)

<dependencies>


<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.9</version>
</dependency>


<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.2.0</version>
</dependency>


</dependencies>

如果导入之后爆红,大概率是本地没有这个坐标;刷新一下Maven,等待下载完成就好了。

编写Mybatis核心配置文件 

替换连接信息,解决硬编码问题

一般放在resources文件夹下面以xxx-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://localhost:3316/mybatis?useLess=false"/>
                <property name="username" value="root"/>
                <property name="password" value="123"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="userMapper.xml"/>
    </mappers>
</configuration>

其中environment标签中的内容是用来连接mysql数据库的信息其中一些信息应以你的电脑上的信息为准,上面是我电脑上我对mysql的设置的信息。

mapper标签是sql映射文件的路径(不同位置地址不同)下一步就是编写sql映射文件

编写sql映射文件

统一管理sql语句,解决硬编码问题

也是写在resources文件夹下面

<?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="test">
    <select id="selectAll" resultType="com.xie.pojo.User">
        select * from y_user;
    </select>
</mapper>

编码

定义一个POJO类

 

package com.xie.pojo;
public class User {
    private Integer id;
    private String name;
    private String pass;
    private String gender;

    public Integer getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public String getPass() {
        return pass;
    }

    public void setPass(String pass) {
        this.pass = pass;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

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

 接下来就是加载核心配置文件,获取SqlSessionFactory对象

获取SqlSession对象,执行sql语句

释放资源

package com.xie;

import com.xie.pojo.User;
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.InputStream;
import java.util.List;

public class mybatisDamo {
    public static void main(String[] args) throws Exception {
        String resource = "mybatis-config.xml";
//        读取配置文件
        InputStream inputStream = Resources.getResourceAsStream(resource);
//        构建SqlSessionFactory
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

//        获取sql对象
        SqlSession session = sqlSessionFactory.openSession();
//         执行sql语句
        List<User> users = session.selectList("test.selectAll");
//          输出结果
        System.out.println(users);
//        释放资源
        session.close();
    }
}

最后输出结果如下

至此也算是会一点Mybatis的皮毛了,再会。

标签:入门,gender,id,Mybatis,String,pass,mybatis,public,name
From: https://blog.csdn.net/m0_75044165/article/details/143281010

相关文章

  • 深度学习入门笔记——Transform的使用
    Transfrom是什么?可以看作是一个图像处理的工具箱,通过查看Transform类可以找到不同的图像处理方法更准确的说,Transform中有各种类的的定义,我们可以通过继承或者构造这些类,然后调用里面的方法来实现相应的功能可以通过结构来便捷的查看transform中的类和方法,然后实现对应的对象......
  • eBay自养号测评详解:从入门到精通
    随着全球电子商务的蓬勃发展,eBay平台作为行业的重要一员,日益吸引着众多卖家的目光。其庞大的用户群体、顺畅的交易流程以及高效的物流体系,共同营造了一个既活跃又可靠的在线市场。然而,随着电商行业的不断进步,传统运营模式在应对市场快速变化时面临挑战,特别是在创新营销策略和应......
  • 深入理解Docker,从入门到精通-Part1(基础使用)
    一、Docker基本概念Docker架构基本组件的介绍DockerClient是用户界面,它支持用户与DockerDaemon之间通信DockerDaemonDocker最核心的后台进程,运行于主机上,处理服务请求Dockerregistry是中央registry,支持拥有公有与私有访问权限的Docker容器镜像的备份DockerConta......
  • WPF入门_06资源和样式
    目录1、资源基础介绍2、静态资源和动态资源区别3、资源字典4、共享资源的方法5、在CustomControlLibrary中定义和使用共享资源6、样式7、样式触发器1、资源基础介绍尽管每个元素都提供了Resources属性,但通常在窗口级别上定义资源,如下定义一个字符串资源  <Wi......
  • 指针入门讲解
    一.指针的定义1.引入   1.指针是内存中一个最小单元的编号,也就是地址。   2.平时我们口头中说的指针是指指针变量。   总结:指针就是地址,口语中说的指针是指指针变量。内存地址一个字节0xFFFFFFFF一个字节0xFFFFFFFE............一个字节0x00000000  ......
  • Harmonyg环境使用ORM开发数据库应用入门教程
    Harmony环境使用Bee入门向导一、添加jar包将bee相关的3个jar包复制到entry包下的libs目录,右击jar包,选择:AddasLibray… , 在跳出的对话框中选择ok.二、将相关配置注册到Bee在启动的Ability,添加相应的配置和注册信息。 若有自定义的配置在bee.properties则需要;......
  • Python基础入门——Python数据结构
    前言1.List(列表)原理列表是一种有序的可变容器,可以存储任意类型的对象。它的主要操作包括索引、切片、添加、删除、修改元素等。列表中的元素在内存中是连续存储的(对于简单的对象,如整数、字符串等是这样,对于复杂对象可能涉及到引用的存储),这使得通过索引访问元素的速度非......
  • Java学习教程,从入门到精通,Java 运算符(9)
    1、Java运算符在Java编程语言中,运算符用于执行各种算术、比较、逻辑和位操作。下面是一篇关于Java运算符的详细介绍:Java运算符在Java编程语言中,运算符用于对变量和字面值进行各种操作。Java支持多种类型的运算符,包括算术运算符、比较运算符、逻辑运算符、位运算......
  • 红队知识学习入门(3)Shodan使用
    声明学习视频来自B站UP主泷羽sec,如涉及侵泷羽sec权马上删除文章笔记的只是方便各位师傅学习知识,以下网站涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负一、shodansearch和host语法1、host2、searchshodansearch--limit10--fieldsip_str,port......
  • MySQL入门到实战详细教程
    MySQL介绍MySQL是一个开源的关系型数据库管理系统(RDBMS),由瑞典MySQLAB公司开发,属于Oracle旗下产品,它广泛应用于各种Web应用程序和网站,MySQL使用结构化查询语言(SQL)进行数据的管理和操作。MySQL主要特点开源免费:MySQL是一个开源项目,可以自由下载和使用。跨平台支持:MySQL可以在多......