Rumah >Java >javaTutorial >Bagaimana untuk menggunakan rangka kerja Mybatis di Java?

Bagaimana untuk menggunakan rangka kerja Mybatis di Java?

王林
王林ke hadapan
2023-04-25 16:49:081518semak imbas

添加框架的步骤

在idea中添加数据库的可视化

Bagaimana untuk menggunakan rangka kerja Mybatis di Java?

Bagaimana untuk menggunakan rangka kerja Mybatis di Java?

这里需要注意:很多小伙伴链接不成功,这个时候要修改一下自己的驱动版本,尽量与数据库版本一致

Bagaimana untuk menggunakan rangka kerja Mybatis di Java?

Bagaimana untuk menggunakan rangka kerja Mybatis di Java?

Bagaimana untuk menggunakan rangka kerja Mybatis di Java?

添加jdbc.properties属性文件(数据库配置)

jdbc.driverclassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=*******

Bagaimana untuk menggunakan rangka kerja Mybatis di Java?

这里有个小细节,新版数据库驱动的类型不要写错 com.mysql.cj.jdbc.Driver

设置完这个就可以连接到数据库了。

添加SqlMapCongig.xml

Mybatis的核心配置文件

这里直接附上,第一次用来测试成功,先跑通,后面的文章会详细将各个标签的作用和属性学习一遍

<?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>
<!--   读取属性文件(jdbc.properties)
    属性:
        resources:从resouces目录下找指定名称的文件加载
        url:使用绝对路径加载属性文件
-->
<properties resource="jdbc.properties"></properties>
<!--    配置数据库的环境变量(数据库链接配置)
        default:使用下面的environment标签下的id属性进行指定配置
-->
<!--    <settings>-->
<!--        <setting name="" value=""/>-->
<!--    </settings>-->
<environments default="development">
<!--    开发时再公司使用的数据库配置
        id;就是提供给environment的default属性使用
        -->
    <environment id="development">
<!--        配置事务管理器
            type:指定事务管理的方式
                JDBC:事务的控制交给管理员来处理
                MANAGED:由容器(Spring)来管理事务
-->
        <transactionManager type="JDBC"></transactionManager>
<!--        配置数据源:
            type:指定不同的配置方式
                JNDI:java命名目录接口,在服务器端进行数据库连接池的管理
                POOLED:使用数据库连接池
                UNPOOLED:不使用数据库连接池
-->
        <dataSource type="POOLED">
<!--      配置数据库连接的基本参数
            private String driver;
            private String url;
            private String username;
            private String password;
-->
            <property name="driver" value="${jdbc.driverclassName}"/>
            <property name="url" value="${jdbc.url}"/>
            <property name="username" value="${jdbc.username}"/>
            <property name="password" value="${jdbc.password}"/>
        </dataSource>
    </environment>
<!--在家时候数据库配置-->
<!--    <environment id="home">-->
<!--        <transactionManager type=""></transactionManager>-->
<!--        <dataSource type=""></dataSource>-->
<!--    </environment>-->
<!--<!&ndash;上线的数据库配置&ndash;>-->
<!--    <environment id="online">-->
<!--        <transactionManager type=""></transactionManager>-->
<!--        <dataSource type=""></dataSource>-->
<!--    </environment>-->
</environments>
<!--    注册mappe.xml文件
        resouces:从resouces目录下找指定名称的文件注册
        url:使用绝对路径注册
        class:动态代理方式下的注册
-->
    <mappers>
        <mapper resource="StudentMapper.xml"></mapper>
    </mappers>
</configuration>

Bagaimana untuk menggunakan rangka kerja Mybatis di Java?

创建实体类Student用来封装数据

package com.longlong.pojo;
import java.util.Objects;
/**
 * @Author DELL longlong
 * @Date 2022/7/1 14:51
 * @Version 1.0
 * @Function 实体类
 */
public class Student {
    private Integer id;
    private String name;
    private String email;
    private Integer age;
    public Student() {
    }
    public Student(String name, String email, Integer age) {
        this.name = name;
        this.email = email;
        this.age = age;
    }
    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 getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Student student = (Student) o;
        return Objects.equals(id, student.id) && Objects.equals(name, student.name) && Objects.equals(email, student.email) && Objects.equals(age, student.age);
    }
    @Override
    public int hashCode() {
        return Objects.hash(id, name, email, age);
    }
    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name=&#39;" + name + &#39;\&#39;&#39; +
                ", email=&#39;" + email + &#39;\&#39;&#39; +
                ", age=" + age +
                &#39;}&#39;;
    }
}

Bagaimana untuk menggunakan rangka kerja Mybatis di Java?

添加增删改查

添加完成学生表的增删改查的功能的StudentMapper.xml文件

<?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:是整个文件的打标签,用来区分开始和结束xml文件
    属性:
        namespace:指定命名空间(相当于包名),用来区分不同mapper.xml
        文件中的相同id
-->
<mapper namespace="ll">
<!--    完成查询全部学生的功能
        List<Student> getAll();
        resultType:指定查询返回的结果集的类型,如果是集合,则必须是泛型
        parameterType:如果有参数,则通过他来完成指定参数的类型
-->
    <select id="getAll" resultType="com.longlong.pojo.Student" >
        select *
        from student
    </select>
</mapper>

Bagaimana untuk menggunakan rangka kerja Mybatis di Java?

这里要说明一下,为了简单明了,暂时只实现了查询全部的功能

创建测试类进行功能测试

最激动人心的时刻,要进行测试了

package com.longlong.test;
import com.longlong.pojo.Student;
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 org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
/**
 * @Author DELL longlong
 * @Date 2022/7/3 19:32
 * @Version 1.0
 * @Function
 */
public class Mytest {
   @Test
    public void testGetAll() throws IOException {
       InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
       SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
       SqlSession sqlSession = factory.openSession();
       List<Student> list = sqlSession.selectList("ll.getAll");
//       list.forEach(student -> System.out.println(student));
       for (Student student : list){
           System.out.println(student);
       }
       System.out.println("OK");
      sqlSession.close();
   }
}

Bagaimana untuk menggunakan rangka kerja Mybatis di Java?

运行结果

Bagaimana untuk menggunakan rangka kerja Mybatis di Java?

Atas ialah kandungan terperinci Bagaimana untuk menggunakan rangka kerja Mybatis di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam