Mybatis操作数据库

2023-12-31 12:29:05

MyBatis是一种Java持久化框架,它可以简化数据库操作JDBC。下面是使用MyBatis进行数据库操作的一般步骤:

引入依赖:在项目的构建文件(如pom.xml)中添加MyBatis的依赖。

配置数据源:在配置文件中配置数据库连接信息,包括数据库类型、URL、用户名和密码等。

创建实体类:根据数据库表结构创建对应的实体类,并为每个字段添加相应的属性和方法。

创建Mapper接口:创建一个接口,用于定义数据库操作的方法。每个方法对应一条SQL语句。

编写Mapper XML文件:在XML文件中编写SQL语句,包括增删改查等操作。通过在XML文件中配置与Mapper接口方法的映射关系,实现方法与SQL语句的绑定。

创建SqlSessionFactory:通过配置文件创建SqlSessionFactory,SqlSessionFactory是MyBatis的核心对象,用于创建SqlSession。

创建SqlSession:通过SqlSessionFactory的openSession()方法创建SqlSession,SqlSession用于执行SQL语句。

调用Mapper方法:通过SqlSession的getMapper()方法获取Mapper接口的代理对象,然后调用Mapper接口的方法执行数据库操作。

提交事务和关闭资源:在完成数据库操作后,记得提交事务并关闭SqlSession。

以上是使用MyBatis进行数据库操作的一般步骤。根据具体的需求,可以对实体类、Mapper接口和Mapper XML文件进行扩展和配置。

准备工作:

首先创建一个数据库 名字为 user,里面的信息如下

步骤:

新建一个Spring Initializr的模块,注意Java的配置环境不要太高,21会失败,要用17

然后勾选上对应的框架和服务

创建完成

在application.properties里面配置数据库的连接信息

3306/你要连接的数据库的名字

username = 账号

password = 密码

# 配置数据库的连接信息
#驱动名称
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#数据库连接的url
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis
# 连接数据库的用户名
spring.datasource.username=root
#连接数据库的用户密码
spring.datasource.password=123456

新建一个用户信息,和你要连接的数据库里面的字段保持一致

package com.example.springbootmybatisquickstart.poji;

public class User {

    private Integer id;
    private String name;
    private Short age;
    private Character gender;
    private String phone;

    public User(Integer id, String name, Short age, Character gender, String phone) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.phone = phone;
    }

    public User() {

    }

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

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

    public Character getGender() {
        return gender;
    }

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

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", gender=" + gender +
                ", phone='" + phone + '\'' +
                '}';
    }
}

然后去定义一个接口, @Select 表示的是 我要进行查找的操作,括号里面写的是sql语句

package com.example.springbootmybatisquickstart.mapper;

import com.example.springbootmybatisquickstart.poji.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface UserMapper {
    //查询全部用户的信息
    @Select("select * from user")
    List<User> list();
}

创建一个测试类,输出信息

package com.example.springbootmybatisquickstart;

import com.example.springbootmybatisquickstart.mapper.UserMapper;
import com.example.springbootmybatisquickstart.poji.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

@SpringBootTest
public class Usertest {
    @Autowired
    private UserMapper userMapper;

    @Test
    public void test() {
        List<User> userList = userMapper.list();
        userList.stream().forEach(user->{
            System.out.println(user);
        });
    }
}

JDBC:

1: 注册驱动

2:获取连接对象

3:获取执行SQL的对象Statement 执行SQL 返回结果

4:封装结果数据

5:释放资源

文章来源:https://blog.csdn.net/m0_74304371/article/details/135314301
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。