【SSM】11-Mybatis框架的使用及配置

本文介绍了如何在IntelliJ IDEA中使用Mybatis框架进行数据库操作。首先,文章概述了环境准备,包括选用的开发工具如IntelliJ IDEA和MySQL,以及创建数据库表。接着,详细阐述了Mybatis的配置步骤,从创建Maven工程,添加相关依赖,到建立实体类、接口、sql映射文件,以及主配置文件的设置。最后,通过创建测试方法展示了数据库操作的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

前言

1、环境准备

1.1 开发工具

1.2 数据库表准备

2、使用步骤

第一步:创建Maven工程

第二步:pom.xml文件中导入依赖

第三步:创建实体类

第三步:创建实体类操作接口

第四步:创建接口的sql映射文件(mapper)

第五步:创建Mybatis的主配置文件

第六步:创建测试方法

3、小结


前言

声明:本专栏文章均为观看动力节点王鹤老师三大框架的视频所撰写的笔记,笔者实力有限,内容如有错误欢迎各位小伙伴在评论区指出。

视频链接:SSM-Mybatis

大家好,我是尼根,本文主要用来介绍如何在idea工具中使用Mybatis框架完成数据库的基本操作。主要还是因为配置的步骤时间一久容易忘,于是痛定思痛,决定肝一篇笔记给这不争气的小脑瓜子长长记性,废话少说,咱们马上开整!!!

cd2798d14485ae5a3a7ab6b6ffd419e1.jpeg

 

 

 


1、环境准备

1.1 开发工具

代码编辑工具 :IntelliJ IDEA 2018

数据库:MySQL 5.7

数据库可视化工具:Navicat 12

1.2 数据库表准备

CREATE TABLE `NewTable` (
`id`  int(11) NOT NULL ,
`name`  varchar(20) CHARACTER SET utf8 NOT NULL ,
`sex`  char(1) CHARACTER SET utf8 NOT NULL ,
`age`  int(11) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=latin1;

2、使用步骤

第一步:创建Maven工程

目录结构

81b48a7234a7dcbf7cfad26c7bec46bf.png

第二步:pom.xml文件中导入依赖

操作前安利一个巨好用的依赖网站mvnrepository.com,强烈建议收藏,再也不迷路!!!

1.导入相关依赖

依赖1:Mybatis 3.5.1

依赖2:JDBC(数据库连接) 5.1.9

依赖3:Junit(单元测试) 4.11

<!--依赖列表-->
    <dependencies>
        <!--Mybatis-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.1</version>
        </dependency>
        <!--jdbc-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.9</version>
        </dependency>
        <!--junit-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
        </dependency>
    </dependencies>

 2.build中添加插件

插件1:resource    xml文件资源处理

插件2:maven-compiler-plugin    jdk版本控制(可选)

<!--插件-->
    <build>
        <!--资源扫描插件-->
        <resources>
            <resource>
                <!--指定路径-->
                <directory>src/main/java</directory>
                <!--扫描文件格式-->
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>

                <filtering>false</filtering>
            </resource>
        </resources>

        <!--jdk版本指定插件-->
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

第三步:创建实体类

Student类:

package com.demo.domain;
/**
 * 学生类
 * */
public class Student {
    //属性信息
    private int id;
    private String name;
    private Character sex;
    private int age;

    //setter And getter

    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 Character getSex() {
        return sex;
    }

    public void setSex(Character sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

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

    //toString

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

第三步:创建实体类操作接口

StudentDao类:

/**
 * 学生操作接口
 * */
public interface StudentDao {

    /**
     * 获取所有学生
     * @return
     * */
    List<Student> getAllStudent();

    /**
     * 根据id获取学生信息
     * @return
     * */
    Student getStudentById(int id);

    /**
     * 修改学生信息
     * */
    void upadateStudent(int id);
    
    /**
     * 添加学生
     * */
    void insertStudent(Student student);
    
    /**
     * 删除学生
     * @return
     * */
    Boolean deleteStudent(int id);
    
}

第四步:创建接口的sql映射文件(mapper)

创建sql映射文件的位置有两种,如下:

第一种:创建在与对应的接口的同一个包下,例如:

java/com/demo/dao/StudentDao   ----->  java/com/demo/dao/StudentDao.xml

5ac74a00bd1c65b4f4857b9c2f98456c.png

第二种:在资源文件resources路径下创建,需要注意sql映射文件的路径必须java下路径保持一致,例如:

java/com/demo/dao/StudentDao   ----->  resources/com/demo/dao/StudentDao.xml

caf3df515004f0a24e76fe2fe41b6189.png

StudentDao.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 namespace="com.itheima.dao.IUserDao">
     <!-- 查询所有学生 -->
     <select id="getAllStudent" resultType="com.demo.domain.Student">
        select * from user
     </select>

     <!--根据id查询-->
    <select id="getStudentById" parameterType="int" resultType="com.demo.domain.Student">
        select * from student where id = #{id}
    </select>

    <!--修改学生信息-->
    <update id="updateStudent" >
        update student set name = #{name},sex=#{sex},age=#{age} where id=#{id}
    </update>

    <!--添加学生信息-->
    <insert id="insertStudent">
        insert into student values (#{id},#{name},#{sex},#{age})
    </insert>

    <!--删除学生信息-->
    <delete id="deleteStudent" parameterType="int" >
        delete from student where id=#{id}
    </delete>
</mapper>

第五步:创建Mybatis的主配置文件

 主配置中主要两个内容:

配置1:数据库连接    

配置2:sql映射(mapper文件)的位置

mybatis.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>
    <!-- 配置mybatis的环境 -->
        <environments default="mysql">
            <!-- 配置mysql的环境 -->
            <environment id="mysql">
                <!-- 配置事务的类型 -->
                <transactionManager type="JDBC"></transactionManager>
                <!-- 配置连接数据库的信息:用的是数据源(连接池) -->
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/ssm_book"/>
                    <property name="username" value="root"/>
                    <property name="password" value="1234"/>
                </dataSource>
            </environment>
        </environments>
    <!-- 告知mybatis映射配置的位置 -->
    <mappers>
        <mapper resource="com/demo/dao/StudentDao.xml"/>
    </mappers>
</configuration>

第六步:创建测试方法

@org.junit.Test
    public void testSelectALLStudent() throws IOException {
        //1.配置文件
        String config = "mybatis.xml";
        //2.创建sqlSessionfactoryBuilder
        InputStream inputStream = Resources.getResourceAsStream(config);
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        //3.创建sqlSessionfactory
        SqlSessionFactory factory = builder.build(inputStream);
        //4.创建sqlSession对象
        SqlSession sqlSession=factory.openSession();
        //5.通过mapper中的sql id指定sql语句
        String sqlId = "com.demo.dao.StudentDao.getAllStudent";
        //6.执行sql
        List<Student> students = sqlSession.selectList(sqlId);
        //7.输出返回结果
        for(Student student:students) {
            System.out.println("student"+student.getId()+":"+ "  age:"+student.getAge()+
                    "   sex:"+student.getSex()+"  name:"+student.getName());;
        }
        //8.关闭资源
        sqlSession.close();
    }

 getAllStudent测试结果:

94b7328cfba12acb3ed293a6d0c1fef4.png

3、小结

整个步骤下来还是比较清晰的,创建maven工程-->pom.xml依赖添加-->实体类-->实体类操作接口-->操作接口方法的sql映射-->主配置中数据库环境配置-->主配置中sql映射文件位置配置-->编写单元测试。经过了两个小时的奋战,终于拥有了自己的一份操作手册,完结撒花🌺🌺🌺🌺🌺

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值