【SSM框架】——Mybatis详解02(案例源码文末自取)

简介: 昨天我们了解了框架相关知识,并且导入依赖配置了核心文件,今天就可以开始写代码测试了。

✨前言


昨天我们了解了框架相关知识,并且导入依赖配置了核心文件,今天就可以开始写代码测试了。

项目专栏Mybatis详解01里面有学习路线哦,想看的小伙伴可以看看哦。

不多说直接开始。


文章目录


添加框架的步骤


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

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


7.添加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=*******

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

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


8.添加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>-->
<!--&lt;!&ndash;上线的数据库配置&ndash;&gt;-->
<!--    <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>


9.创建实体类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='" + name + '\'' +
                ", email='" + email + '\'' +
                ", age=" + age +
                '}';
    }
}


10.添加完成学生表的增删改查的功能的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>


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


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

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

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

运行结果

显示这样就表示我们的测试是成功的,祝贺一下吧!!!


✨总结


今天我们完成了第一次使用mybatis框架,并且成功了。开心呢!!!

下面就要深入学习配置文件的标签和属性,运行过程,作用!!!

本次源码放在代码仓库gitee,自取链接

喜欢的小伙伴留下三连再走吧,自己也可以试试哦。


😎Wrong cannot afford defeat but right can.

错误经不起失败,但是真理确实不怕失败。-《泰戈尔》😎




相关文章
|
4天前
|
前端开发 Java 关系型数据库
基于ssm的考研图书电子商务平台,附源码+数据库+论文
考研图书电子商务平台是一个基于Java的B/S架构系统,适用于Windows环境。该平台设有管理员和用户权限,管理员可管理商品、用户、留言板及订单,用户可管理收货地址、订单、收藏及购买商品。技术框架包括前端Vue+HTML+JavaScript+CSS+LayUI,后端SSM,数据库为MySQL。项目包含17个数据库表,支持Maven构建。提供演示视频和详细文档,支持免费远程调试安装,确保顺利运行。
27 13
基于ssm的考研图书电子商务平台,附源码+数据库+论文
|
2天前
|
小程序 Java 关系型数据库
weixin030英语学习交流平台小程序+ssm(文档+源码)_kaic
本文介绍了英语学习交流平台小程序的开发全过程,包括系统分析、设计与实现。该小程序基于Java的SSM框架进行后端管理开发,使用MySQL作为数据库,并借助微信开发者工具确保系统稳定性。小程序设有管理员和用户两个角色,功能涵盖个人中心、每日打卡、学习计划、论坛交流等,具有操作简单、界面清晰、功能齐全的特点。通过技术可行性、经济可行性和操作可行性分析,证明了系统的实用性和高效性,为英语学习者提供了一个便捷的交流平台。
|
2天前
|
小程序 Java 关系型数据库
weixin025移动学习平台的设计与实现+ssm(文档+源码)_kaic
基于微信小程序的移动学习平台旨在解决传统APP占用过多手机存储空间的问题,提升用户体验。该平台使用微信开发者工具开发前端,SSM框架和Java语言开发后台,并采用MySQL数据库保存数据。系统支持管理员对教师、课程、学生信息进行管理,教师可查看及审核作业,管理课程资源;学生能提交作业、查看审核结果并收藏或评论课程资源。此平台使用户无需安装独立APP即可访问学习内容,极大提升了便捷性和管理效率。 关键词:基于微信小程序的移动学习平台;微信开发者工具;SSM框架
|
2天前
|
安全 小程序 Java
weixin027校园二手平台的设计与实现+ssm(文档+源码)_kaic
本项目基于微信小程序开发校园二手交易平台,旨在解决大学生闲置物品交易问题。系统采用Java语言和MySQL数据库设计,支持用户浏览、收藏、评价商品及发布闲置物品。管理员可审核商品和用户信息,确保交易安全。系统具备在线搜索功能,方便用户查找商品,并提供实时沟通渠道,增强平台透明度和用户体验。该平台简化了二手交易流程,满足了大学生对便捷、高效交易的需求,具有重要的实际应用价值。
|
2天前
|
前端开发 Java 关系型数据库
基于ssm的社区物业管理系统,附源码+数据库+论文+任务书
社区物业管理系统采用B/S架构,基于Java语言开发,使用MySQL数据库。系统涵盖个人中心、用户管理、楼盘管理、收费管理、停车登记、报修与投诉管理等功能模块,方便管理员及用户操作。前端采用Vue、HTML、JavaScript等技术,后端使用SSM框架。系统支持远程安装调试,确保顺利运行。提供演示视频和详细文档截图,帮助用户快速上手。
31 17
|
5天前
|
前端开发 Java 关系型数据库
基于ssm的超市会员(积分)管理系统,附源码+数据库+论文,包安装调试
本项目为简单内容浏览和信息处理系统,具备管理员和员工权限。管理员可管理会员、员工、商品及积分记录,员工则负责积分、商品信息和兑换管理。技术框架采用Java编程语言,B/S架构,前端使用Vue+JSP+JavaScript+Css+LayUI,后端为SSM框架,数据库为MySQL。运行环境为Windows,JDK8+Tomcat8.5,非前后端分离的Maven项目。提供演示视频和详细文档,购买后支持免费远程安装调试。
55 19
|
2天前
|
前端开发 Java 关系型数据库
基于ssm的培训学校教学管理平台,附源码+数据库+论文
金旗帜文化培训学校网站项目包含管理员、教师和用户三种角色,各角色功能通过用例图展示。技术框架采用Java语言,B/S架构,前端为Vue+HTML+CSS+LayUI,后端为SSM,数据库为MySQL,运行环境为JDK8+Tomcat8.5。项目含12张数据库表,非前后端分离,支持演示视频与截图查看。购买后提供免费安装调试服务,确保顺利运行。
24 14
|
6天前
|
前端开发 JavaScript Java
[Java计算机毕设]基于ssm的OA办公管理系统的设计与实现,附源码+数据库+论文+开题,包安装调试
OA办公管理系统是一款基于Java和SSM框架开发的B/S架构应用,适用于Windows系统。项目包含管理员、项目管理人员和普通用户三种角色,分别负责系统管理、请假审批、图书借阅等日常办公事务。系统使用Vue、HTML、JavaScript、CSS和LayUI构建前端,后端采用SSM框架,数据库为MySQL,共24张表。提供完整演示视频和详细文档截图,支持远程安装调试,确保顺利运行。
48 17
|
7天前
|
存储 Java 关系型数据库
ssm151大学生就业信息管理系统+jsp(文档+源码)_kaic
大学生就业信息管理系统基于现代经济快速发展和信息化技术的升级,旨在通过软件工具提升数据管理效率。该系统利用SSM框架、Java语言和Mysql数据库开发,实现数据的科学化、规范化与自动化管理。系统界面简洁美观,功能模块布局合理,提供高效的数据处理能力,并注重数据安全。通过此系统,管理者能够快速处理大量信息,提高工作效率,同时确保数据的安全性和可靠性。关键词:大学生就业信息管理系统;SSM框架;Mysql;自动化。
|
4天前
|
前端开发 Java 关系型数据库
基于ssm的网络直播带货管理系统,附源码+数据库+论文
该项目为网络直播带货网站,包含管理员和用户两个角色。管理员可进行主页、个人中心、用户管理、商品分类与信息管理、系统及订单管理;用户可浏览主页、管理个人中心、收藏和订单。系统基于Java开发,采用B/S架构,前端使用Vue、JSP等技术,后端为SSM框架,数据库为MySQL。项目运行环境为Windows,支持JDK8、Tomcat8.5。提供演示视频和详细文档截图。
42 10

热门文章

最新文章