Mybatis框架搭建(students实战中)

SpringBoot+Vue3+MyBatis构建高校教学系统实战 现代Web开发中,前后端分离架构已成为主流技术方案,通过RESTful API实现数据交互。SpringBoot作为Java领域最流行的微服务框架,其自动配置特性大幅提升开发效率;Vue3的组合式API则革新了前端开发模式,使代码组织更模块化。结合MyBatis的灵活SQL管理,这种技术栈特别适合教育系统这类需要处理复杂业务逻辑的场景。以高校教学平台为例,系统需要实现课程管理、在线实验、自动评测等核心功能,其中代码沙箱模块通过Docker容器隔离确保安全执行,而Redis缓存和MySQL索引优化则保障了高并 阅读详情

1:引入依赖

<dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.32</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.2</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.12</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.18</version>
        </dependency>
    </dependencies>

2:引入资源:这样建包(com/biem/studentMapper)

         

代码顺序:

①:mybatis-config

<?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>
    <!-- 环境配置 -->
    <!-- 加载类路径下的属性文件 -->
    <properties resource="db.properties"/>
    <typeAliases>
        <package name="com.biem.pojo"/>
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <!-- 数据库连接相关配置 ,db.properties文件中的内容-->
            <dataSource type="POOLED">
                <property name="driver" value="${mysql.driver}"/>
                <property name="url" value="${mysql.url}"/>
                <property name="username" value="${mysql.username}"/>
                <property name="password" value="${mysql.password}"/>
            </dataSource>
        </environment>
    </environments>
    <!-- mapping文件路径配置 -->
    <mappers>
        <package name="com.biem.mapper"/>
    </mappers>

</configuration>

②:log4j

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
        <param name="Encoding" value="UTF-8"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m (%F:%L) \n"/>
        </layout>
    </appender>
    <logger name="java.sql">
        <level value="debug"/>
    </logger>
    <logger name="org.apache.ibatis">
        <level value="info"/>
    </logger>
    <root>
        <level value="debug"/>
        <appender-ref ref="STDOUT"/>
    </root>
</log4j:configuration>

 ③:db文件

mysql.driver=com.mysql.cj.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/mybatis1?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
mysql.username=root
mysql.password=123456

④:studentmapper文件

<?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为映射的根节点-->
<!-- mapper为映射的根节点,namespace指定Dao接口的完整类名
mybatis会依据这个接口动态创建一个实现类去实现这个接口,
而这个实现类是一个Mapper对象-->
<mapper namespace="com.example.pojo.User">

</mapper>

3:建包 

 

        ①:pojo实体类

package com.biem.pojo;

import lombok.*;

@Setter
@Getter
@NoArgsConstructor
@AllArgsConstructor
@ToString
@Builder

public class student {
    private Integer id;
    private String name;
    private String major;
    private String sno;
}

        ②:studentmapper映射类

package com.biem.mapper;

public interface studentMapper {


}

        ③:utils测试类

package com.biem.utils;

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 java.io.IOException;
import java.io.InputStream;
import java.io.Reader;

public class MybatisUtils {
    private static SqlSessionFactory sqlSessionFactory = null;
    //利用静态块在初始化类时实例化sqlSessionFactory
    static {
        InputStream is= null;
        try {
            is = Resources.getResourceAsStream("mybatis-config.xml");
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
        } catch (IOException e) {
            e.printStackTrace();
            throw new ExceptionInInitializerError(e);
        }
    }

    /**
     * openSession 创建一个新的SqlSession对象
     * @return SqlSession对象
     */
    public static SqlSession openSession(boolean autoCommit){
        return sqlSessionFactory.openSession(autoCommit);
    }

    public static SqlSession openSession(){
        return sqlSessionFactory.openSession();
    }
    /**
     * 释放一个有效的SqlSession对象
     * @param session 准备释放SqlSession对象
     */
    public static void closeSession(SqlSession session){
        if(session != null){
            session.close();
        }}}

医学影像分割入门:为什么U-Net至今仍是肝脏CT肿瘤分割的‘首选’? 本文探讨了U-Net在肝脏CT肿瘤分割中的持久优势,分析了其轻量化设计、对称架构和跳跃连接如何完美适配医学影像的小样本、高精度需求。通过对比实验和实战建议,揭示了U-Net在肝脏肿瘤分割任务中超越新模型的根本原因,并提供了PyTorch实现和部署技巧。 阅读详情

相关推荐

Wireshark实战解析IEC 61850 GOOSE报文:智能变电站通信调试指南

网络协议分析是理解现代工业通信系统的基础,其核心原理在于对数据包的捕获、解码与解析。在电力自动化领域,IEC 61850标准定义了智能变电站内设备间高效、可靠的通信框架,其中GOOSE(通用面向对象变电站事件)协议因其基于以太网多播和快速重传机制,成为保护跳闸、联锁等关键信号传输的基石,其技术价值在于实现了微秒级延迟的高可靠性通信。掌握GOOSE报文的分析能力,对于现场调试、故障定位及系统验证至关重要。本文聚焦于使用Wireshark这一网络分析工具,深入解析GOOSE报文结构,涵盖从以太网帧头、协议标识到

weixin_34401479的博客 376

mybatis 连接池_应用框架之Mybatis数据源和连接池

本文将从以下几个方面介绍Mybatis的数据源和连接池:MyBatis数据源DataSource分类数据源DataSource的创建过程DataSource什么时候创建Connection对象MyBatis数据源DataSource分类MyBatis数据源实现是在以下四个包中: MyBatis把数据源DataSource分为三种: 1、UNPOOLED:不使用连接池的数据源 2、POOLED: 使...

weixin_39720807的博客 103

AAAI2024最佳解读|FontDiffuser One-Shot Font Generation via Denoising Diffusion with Multi-Scal

本文提出了一种名为FontDiffuser的基于扩散的单次字体生成方法,旨在通过去噪扩散模型生成模仿参考图像风格的字体,同时保留源图像的内容。尽管现有的字体生成方法在性能上取得了一定的进展,但在处理复杂字符和大风格变化时仍面临挑战。FontDiffuser通过引入多尺度内容聚合(MCA)模块,有效结合不同尺度的全局和局部内容线索,从而增强复杂字符的笔画保留能力。此外,文章还提出了一种风格对比细化(SCR)模块,用于风格表示学习,利用风格提取器从图像中分离风格,并通过精心设计的风格对比损失来监督扩散模型。

haimianxiaobao11的博客 1193

从0到1掌握Fluent-MyBatis:5分钟搭建第一个ORM项目

Fluent-MyBatis是一款高效的ORM框架,它通过简洁的API设计和强大的功能,帮助开发者快速实现数据库操作。本文将带你快速上手Fluent-MyBatis,只需5分钟就能搭建起第一个ORM项目,让你体验到它带来的开发效率提升。 ## 1. 了解Fluent-MyBatis的核心优势 Fluent-MyBatis作为一款优秀的ORM框架,具有诸多核心优势,让数据库操作变得更加简单高效。

gitblog_00485的博客 444

瑞萨单片机-硬件I2C从设备

瑞萨单片机上实现I2C从机,根据主机发来的数据,从机返回或者保存数据2、R5F1115AxFL最多支持3个从设备地址(即可以作为三个从设备)3、从接收模式:直接将数据保存到RAM中,接收完再处理4、从发送模式:按照I2C读取传感器数据经验,主机读取从设备时,从设备需要立刻返回数据的,但是程序要如何实现一收到指令就返回特定的数据?(时钟拉伸)这里先跳过,我们先实现返回固定的数据。

qq_27893147的博客 3220

Silvaco TCAD仿真4——DeckBuild实战:从示例库到自定义设计

本文详细介绍了Silvaco TCAD仿真工具DeckBuild的实战应用,从示例库的使用到自定义设计的全过程。通过具体案例和参数修改技巧,帮助用户快速掌握TCAD仿真技术,提升半导体器件设计的效率和精度。特别适合需要从基础入门到进阶操作的工程师和研究人员。

weixin_29284657的博客 435

mybatis框架

一 mybatis入门 1.1 mybatis是什么 MyBatis是一个简化和实现了 Java 数据持久化层(persistence layer)的开源框架,它抽象了大量的JDBC冗余代码,并提供了一个简单易用的API和数据库交互方式。 MyBatis的前身是iBATIS,iBATIS于2002年由ClintonBegin创建。MyBatis3是iBATIS的全新设计,支持注解和Mapper(映射器)。 MyBatis流行的主要原因在于它的简单性和易使用性。在Java应用程序中,数据持久化层涉及到的

fighting_xuan的博客 335

全网最强AI辅助课题申报教程!超详细流程拆解,助你快速提高课题申报成功率(附各部分高效提示词)

实验法要详细说明自变量、因变量、实验类型、实验过程、实验步骤、测量工具名称、被试取样方式、无关变量控制方法。这个部分就是让评审专家相信我们有能力把这个项目干成,写的时候要重点突出两块内容:第一是研究基础,包括你或团队在相关领域已有的研究成果,比如发表的论文、承担过的课题、获得过的奖励、相关研究经验等,要具体、有说服力;课题申报专门给我们留了一小节用来突出课题的创新之处,不管是研究角度、研究对象、研究方法,还是应用价值都可以提炼作为我们的创新点,最后的语气成果也要明确具体,且要和课题内容紧密相关。

智能AI让学术科研更容易 665

彻底告别MyBatis繁琐SQL:mybatis-jpa-extra实战案例与最佳实践

> 官方文档:https://dromara.org/zh-CN/docs/mybatis-jpa-extra/intro 希望本文能帮助你更好地理解和使用MyBatis-JPA,如有任何问题或建议,欢迎在评论区留言讨论。如果觉得本文对你有帮助,请点赞、收藏、关注支持! 下一篇预告:《MyBatis-JPA源码解析与扩展开发》,深入框架内部,学习如何定制自己的扩展功能。...

gitblog_00275的博客 901

ArcGIS Pro 3.4 二次开发 - 布局

本文介绍了在ArcGIS Pro SDK 3.4和.NET 8环境下操作布局工程项的相关方法。主要内容包括:引用布局工程项和关联布局,在新视图中打开或激活已有布局视图,引用活动布局视图,导入/移除布局工程项,创建基本布局或带参考线的自定义布局,修改布局页面尺寸,以及创建圆形图形元素等操作。重点演示了如何通过CIM(Core Infrastructure Model)进行高级布局配置,并详细说明了圆形图形元素的创建过程,包括几何构建、符号设置和图形生成。所有涉及UI线程的操作都遵循ArcGIS Pro SDK

Winemonk 795

Android 12.0 以太网和wifi共存的产品wifi优先级设置功能实现

在12.0的系统ROM定制化开发中,在对于一些有线网和wifi共存的产品中,由于某些产品的特殊要求首选使用wifi,而在原生 系统中以太网的优先级高于wifi的,所以就需要从优先级的设置来分析,实现设置优先级的相关功能实现

安卓兼职framework和app工程师的博客 944

Fluent-MyBatis实战教程:构建复杂业务的CRUD操作终极指南 [特殊字符]

**Fluent-MyBatis** 是一个强大的Java持久层框架,它让MyBatis的CRUD操作变得像呼吸一样自然!如果你厌倦了传统的XML配置和繁琐的SQL编写,那么Fluent-MyBatis将是你的最佳选择。这个框架通过代码生成和流畅的API设计,让数据库操作变得直观而优雅,特别适合处理复杂业务场景。 ## 🌟 为什么选择Fluent-MyBatis? 传统的MyBatis开发需

gitblog_00625的博客 1114

RK3568平台开发系列:Android环境下CAN的使用

在RK3568平台上,我们可以利用Android环境中的API来实现CAN的使用。通过以上步骤,我们可以在Android应用中发送和接收CAN数据,并进行相应的处理。当接收到CAN数据时,将触发onMessageReceived回调方法,我们可以在这个方法中对接收到的数据进行处理。在上述代码中,我们指定了CAN的ID为0x123,数据为{0x01, 0x02, 0x03},并设置了标志位和周期。接收CAN数据需要注册一个监听器,并在监听器中处理接收到的数据。发送CAN数据需要指定CAN的ID和数据。

2301_79330513的博客 1912

如何使用Fluent-MyBatis快速构建动态SQL?新手入门教程

Fluent-MyBatis是一款功能强大的ORM框架,它通过流畅的API设计和代码生成机制,帮助开发者快速构建动态SQL语句,大幅提升开发效率。无需编写繁琐的XML映射文件,只需简单的注解和Java代码,即可轻松实现复杂的数据库操作。 ## 🌟 Fluent-MyBatis核心优势 Fluent-MyBatis相比传统MyBatis有诸多显著优势,让我们一起来看看它的核心特性: [![F

gitblog_00661的博客 869

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Mybatis

MyBatis 是一款优秀的持久层框架MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类 【Plain Old Java Objects,普通的 Java对象】映射成数据库中的记录。MyBatis 本是apache的一个开源项目ibatis, 2010年这个项目由apache 迁移到了google code,并且改名为MyBatis。2013年11月迁移到。

2301_76556912的博客 1611

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

MyBatis框架使用及单元测试

1.创建数据表(tb_students) 2.创建实体类 在src目录下,创建包com.pojo,并在com.pojo包中创建Student类。添加如下代码: package com.pojo; public class Student { private int stuId; private String stuNum; private String stuName; private String stuGender; private int stuAge; public int

m0_53843256的博客 3115

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【持久化框架MyBatis3一】MyBatis版HelloWorld

MyBatis这个系列的文章,主要参考《Java Persistence with MyBatis 3》。   样例数据 本文以MySQL数据库为例,建立一个STUDENTS表,插入两条数据,然后进行单表的增删改查     CREATE TABLE STUDENTS ( stud_id int(11) NOT NULL AUTO_INCREMENT, name varchar...

bit1129的博客 215

Mybatis框架实现简单的学生管理系统

目录使用工具使用jar包环境搭建代码示例java目录Student.java 使用工具 IDEA2018.2 MySQL5.6 JDK1.8 Tomcat8.5.33 使用jar包 asm-3.3.1.jar cglib-2.2.2.jar commons-logging-1.1.1.jar javassist-3.17.1-GA.jar log4j-1.2.17.jar log4j-ap...

꧁༺ʚvv༒catɞ༻꧂的博客 5741

mybatis框架的一些步骤

mybatis框架的搭建

Amos_hongli的博客 396

MyBatis 传入参数类型为对象

Mapper.xml里直接写属性名 #{id}, #{bursary}则写成:#{students.id}, #{students.name}如果属性是另外一个类,比如Student。记录一下,方便以后自己查阅。

y523648的博客 632

mybatis入门

一 mybatis入门 视图层: 显示给用户的界面 业务逻辑层: Service 处理业务逻辑 数据持久层: JBDC Mybatis ,hir...,数据库持久操作 1.1 mybatis是什么 MyBatis是一个简化和实现了 Java 数据持久化层(persistence layer)的开源框架,它抽象了大量的JDBC冗余代码,并提供了一个简单易用的API和

GressLove的博客 599

03-MyBatis框架使用入门案例

MyBatis框架使用入门案例

qq_61951462的博客 383

MyBatis系列(一)----MyBatis 简介

第 1 章:MyBatis 简介 1.1 关于 MyBatis MyBatis 本是 apache 的一个开源项目 iBatis, 2010 年这个项目由 apache software foundation 迁移到了 google code,并且改名为 MyBatis 。2013 年 11 月迁移到 Github。 https://github.com/mybatis/mybatis-3 My...

stars77的博客 280

mybatis

MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。

梦想是很难很难的,所以先勇敢一点 418

MyBatis学习笔记(1)---一个简单MyBatis示例

参考: https://blog.youkuaiyun.com/sinat_34596644/article/details/61413812   利用JDBC仍旧存在的几个局限性: 在应用程序中存在的大量代码冗余。 业务代码与数据库访问代码混杂在一起。 SQL语句与Java代码混杂在一起。 JDBC抛出费力难懂的checked异常,需要程序员花费精力小心处理。 需要程序员自行解决ORM映射。 ...

EminentBoy的博客 245

JB3-1-MyBatis

配通,增删改查,动态SQL,SQL片段,一级缓存,二级缓存,多表联查,注解开发等。

周航宇的博客 2666
上一篇: Mybatis动态SQL<foreach>标签
下一篇: Mybatis动态SQL实例:学生信息查询系统
舒安生
博客等级 码龄5年 7粉丝 10原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值