> 文档中心 > 【SSM框架】Mybatis详解04,构建完整项目并且测试框架

【SSM框架】Mybatis详解04,构建完整项目并且测试框架


  • 🧛‍♂️个人主页:杯咖啡
  • 💡进步是今天的活动,明天的保证!
  • ✨目前正在学习:SSM框架,算法刷题
  • 👉本文收录专栏:SSM框架解析
  • 🙌牛客网,刷算法过面试的神级网站,用牛客你也牛。 👉免费注册和我一起学习刷题👈
  • 🐳希望大家多多支持🥰一起进步呀!
  • 😎The man who fears losing has already lost.
    怕输的人已经输了。 - 《权力的游戏》

✨前言

我们已经学会用Maven快速构建管理项目了,这篇文章就正式构建一个完整的项目。

通过这个案例可以复习maven的使用,自行创建项目,使用MyBatis框架并进行测试。


文章目录

  • ✨前言
  • 完善项目构建
    • 在idea中添加数据库的可视化
    • 添加jdbc.properties属性文件(数据库的配置)
    • 添加SqlMapConfig.xml文件,Mybatis的核心配置文件
    • 创建实体类Student,用来封装数据
    • 添加完成学生表的增删改查的功能的StudentMapper.xml文件
    • 创建测试类,进行功能测试
    • 测试结果展示
  • ✨总结

完善项目构建

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

为了我们在编写程序进行测试的时候更加的方便,我们在idea中添加数据库可视化。
按着以下步骤就可以实现。
【SSM框架】Mybatis详解04,构建完整项目并且测试框架
【SSM框架】Mybatis详解04,构建完整项目并且测试框架
这里需要注意一下,我们先进行测试一下,一定要注意自己的数据库驱动是否与自己的数据库版本相对应,以免出现无法操作数据库的问题
【SSM框架】Mybatis详解04,构建完整项目并且测试框架
【SSM框架】Mybatis详解04,构建完整项目并且测试框架
【SSM框架】Mybatis详解04,构建完整项目并且测试框架

【SSM框架】Mybatis详解04,构建完整项目并且测试框架

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

这一步呢,是为了使得我们的框架可以通过java连接到数据库,进而进行一系列增删改查的操作
【SSM框架】Mybatis详解04,构建完整项目并且测试框架
注意这里有个小细节,jdbc.driverclass的值在jdbc的一次大改版中有变化哦,如果版本过高就不是这个哦,网上可以查到这里就不列出来了。自己动手也很重要。

添加SqlMapConfig.xml文件,Mybatis的核心配置文件

接下来就要开始配置框架的核心配置文件了。

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><properties resource="jdbc.properties"></properties><!--    --><!-- --><!--    --><environments default="development">    <environment id="development"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED">     <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><!--    --><!-- --><!-- --><!--    --><!--    --><!-- --><!-- --><!--    --></environments>    <mappers> <mapper resource="StudentMapper.xml"></mapper>    </mappers></configuration>

标签的解释在注释里哦。
这里有个注意的小节点,标签的顺序不可以随意更改哦!!!要时刻注意。

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

这里的实体类,为了方便数据的封装,建议按照数据库进行构建哦。
当然我就是调皮不愿意按着数据库来,也可以,后面又解决办法哦。
【SSM框架】Mybatis详解04,构建完整项目并且测试框架

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='" + name + '\'' +  ", email='" + email + '\'' +  ", age=" + age +  '}';    }}

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

这个文件呢,就是写我们的sql语句了,你以为和之前一样吗。
不不不,这就很简便了,一起看看吧。
【SSM框架】Mybatis详解04,构建完整项目并且测试框架

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="ll"><!--    完成查询全部学生的功能 List getAll(); resultType:指定查询返回的结果集的类型,如果是集合,则必须是泛型 parameterType:如果有参数,则通过他来完成指定参数的类型-->    <select id="getAll" resultType="com.longlong.pojo.Student" > select * from student    </select></mapper>

这里的功能很简单只有查询全部的简单功能,后面我们会完成更多的复杂功能。

创建测试类,进行功能测试

终于迎来了我们的最后一步,功能测试。
可能小伙伴们还体会不到,这到底有什么简便的。
不要着急,跟着我多做几个功能就可以体会到了
【SSM框架】Mybatis详解04,构建完整项目并且测试框架

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();   }}

测试结果展示

【SSM框架】Mybatis详解04,构建完整项目并且测试框架
这里小编遇到了一个Mysql数据库时区的问题,有时间也会把解决方法上传到博客中。


✨总结

今天我们完成了第一次使用mybatis框架,并且成功了。开心呢!!!
下面就要深入学习配置文件的标签和属性,运行过程,作用!!!
下面我们会完善更多复杂功能并且介绍标签和属性的用法和规则!!!
本次源码放在代码仓库gitee,自取链接

原创不易,还希望各位大佬支持一下 \textcolor{blue}{原创不易,还希望各位大佬支持一下} 原创不易,还希望各位大佬支持一下

点赞,你的认可是我创作的动力! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!

收藏,你的青睐是我努力的方向! \textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!

评论,你的意见是我进步的财富! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!