Mybatis使用

mybatis 和 mybatis-plus 配置文件: 用于配置数据库连接和 MyBatis 运行时所需的各种特性,包含了设置和影响 MyBatis 行为的属性、映射文件的位置。mapper接口和mapper.xml之间需要遵循一定规则,才能成功的让mybatis将mapper接口和mapper.xml绑定起来。创建IUserMapper接口: 用于操作数据库CURD的方法。文件:用于mybatis配置文件读取数据库信息。resources 目录下 创建。resources 目录下 创建。resources 目录下 的。类:用于跟数据库字段做映射。 阅读详情
  • 什么是Mybatis

官网的介绍 Mybatis是 支持 自定义SQL、存储过程、高级映射的基于Java语言开发的数据库持久性框架。

 

在日常Java开发中,离不开数据库操作,Java通过JDBC来操作数据库,但JDBC操作繁琐,不利于快速开发。Mybatis把JDBC的繁琐细节都处理了,可以让我们专注业务功能的开发。

首先要明白Mybatis的两个重要概念Configuration和Mapper,Configuration用于全局配置Mybatis的参数,Mapper(映射)用于Mybatis处理SQL的方式,平时开发中都与Mapper打交道。

Configuration 主配置文件

<?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>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value=""/>
                <property name="url" value=""/>
                <property name="username" value=""/>
                <property name="password" value=""/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="maping.xml"/>
    </mappers>
</configuration>

Mapper有基于XML和注解的配置方式

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.aa.IApp">
    <select id="selectAppss" resultType="com.entity.App">
    SELECT Id,'AppId' as AppId,`Name` FROM App where Id = #{Id}
  </select>
</mapper>

注解

package com.aa;

import org.apache.ibatis.annotations.Select;

public interface IApp {
    @Select("SELECT Id,'aaaaaaaaaaaaa' as AppId,`Name` FROM App where Id = #{Id}")
    App selectApp(int id);
}

后面的代码都是基于XML的。

查询

<mapper namespace="com.aa">
    <select id="selectApp" resultType="com.entity.App">
    SELECT Id,AppId,`Name` FROM App where Id = #{Id}
  </select>
</mapper>
InputStream is=Resources.getResourceAsStream("mybatis_config.xml"); //Resources.getResourceAsStream("mybatis_config.xml");
        SqlSessionFactory sqlfactory= new SqlSessionFactoryBuilder().build(is);

        SqlSession session = sqlfactory.openSession();
        try {
            App app = session.selectOne("com.aa.selectApp", 1);
        } finally {
            session.close();
        }

查询返回集合

    <select id="selectList" resultType="com.entity.App">
    SELECT 1 as Id, 'A1' as AppId,'A2' as `Name`
    union all
    SELECT 1 as Id, 'A1' as AppId,'A2' as `Name`
    union all
    SELECT 1 as Id, 'A1' as AppId,'A2' as `Name`
  </select>
List<App> apps= session.selectList("com.aa.selectList");

修改 

    <update id="updateApp">
        update App set OwnerEmail=OwnerEmail where 1=5 and 1=#{Id};
    </update>

    <delete id="deleteApp">
        delete from App where 1=5 and 1=#{Id};
    </delete>
    <insert id="insertApp" parameterType="com.entity.App">
        insert into App(AppId,`Name`)values(#{AppId},#{Name})
    </insert>
session.update("com.aa.updateApp",-22);
            session.delete("com.aa.deleteApp",-22);

            App addApp=new App();
            addApp.setAppId("add appid");
            addApp.setName("add app name");
            session.insert("com.aa.deleteApp",addApp);

Mybatis还有一些高级特性 缓存、字段映射、动态SQL,后面继续分享。。。。

asp.net搭建mybatis开发环境 经过认真的探索终于把asp.net上的mybatis搞清楚了,虽然自己运气很差看了几篇类似的误人子弟的文章。最终还是写出了像样的程序。 立即下载

相关推荐

AI Agent Harness Engineering 创业PMF验证工具:用户满意度+留存率+业务指标监测表

在AI Agent创业的浪潮中,我们看到了无数产品如雨后春笋般涌现,但最终能够真正找到PMF并存活下来的却寥寥无几。根据CB Insights的数据,创业公司失败的首要原因(占42%)是"没有市场需求"——换句话说,就是没有找到PMF。AI Agent产品由于其特殊性(交互范式的变革、技术复杂度高、用户期望管理困难等),PMF验证变得更加具有挑战性。传统的SaaS产品PMF验证框架虽然有参考价值,但无法完全适用于AI Agent这种新型产品形态。

AI智能探索者的博客 331

【MyBatis-Plus】MyBatis进阶使用

MyBatis-Plus 是一个的增强工具,在 MyBatis 的基础上只做增强不做改变(也就是说mybatis有的plus都有),为简化开发、提高效率而生。

让优秀成为一种习惯! 4813

ComfyUI的G-Dino模型加载器报错解决方案:从崩溃到重生

遇到G-Dino模型加载器报错不要慌,按照本文的步骤操作,99%的问题都能解决。模型文件正确下载到指定位置segment_anything节点安装完整且无冲突需要补充更多细节或故障排除方法吗?可以随时告诉我。

2301_78150483的博客 4023

MyBatis插件的使用:mybatis-generator、mybatis-plugin、mybatis-pagehelper

使用Intellij Idea2016.3.1+Maven3.3.9。 一、mybatis-generator的使用 作用:根据数据库自动生成pojo、dao和xml文件。 1、引入mybatis-generator pom.xml中引入配置: MMall org.mybatis.generator mybatis-gen

烂笔头 5789

YOLOv11改进策略【损失函数篇】| arXiv2025 TeLU双曲正切指数线性单元 强梯度防消失 + 解析光滑稳训练,极速提升收敛与泛化

本文记录的是。TeLU(Hyperbolic Tangent Exponential Linear Unit)通过。本文利用TeLU激活函数,以x⋅tanhex统一实现正区间强梯度加速收敛与负区间持续梯度避免死神经元,全程保持解析光滑与极低计算开销,,显著提升深度网络在分类、检测、分割、时序任务中的收敛速度、精度与泛化鲁棒性。

Limiiiing的博客 224

YOLOv11 结合 BiFormer 注意力:打造多场景高精度检测模型实战教程

注册BiFormer模块(若代码未自动注册)# 加载自定义配置的YOLOv11模型。

know_F0727的博客 251

Mybatis的简单使用

当我们需要把数据库记录,映射为Java对象的时候,mybatis是一个很方便的工具。之后,就可以在项目中灵活地使用mybatis映射出来的对象了。

hello world的博客 2975

CMOS Sensor的调试经验分享

我这里要介绍的就是CMOS摄像头的一些调试经验。 首先,要认识CMOS摄像头的结构。我们通常拿到的是集成封装好的模组,一般由三个部分组成:镜头、感应器和图像信号处理器构成。一般情况下,集成好的模组我们只看到外面的镜头、接口和封装壳,这种一般是固定焦距的。有些厂商只提供芯片,需要自己安装镜头,镜头要选择合适大小的镜头,如果没有夜视要求的话,最好选择带有红外滤光的镜头,因为一般的sensor都...

camerall 3763

Mybatis-Plus和Mybatis区别

核心关系:MyBatis-Plus 是 MyBatis 的增强版,完全兼容 MyBatis,不改变原有使用方式,仅做功能补充。核心差异:MP 提供了「通用 CRUD、条件构造器、分页插件、代码生成器」等开箱即用的功能,大幅减少重复代码;而原生 MyBatis 更侧重 SQL 的手动控制。选型建议:优先选 MyBatis-Plus(开发效率更高),遇到复杂 SQL 时,仍可像原生 MyBatis 一样手动编写,兼顾效率与灵活性。

weixin_53050448的博客 1233

基于FISCO BCOS 部署可升级的 Solidity存证智能合约

本文介绍了基于FISCOBCOS平台的可升级Solidity存证智能合约实现方案。采用透明代理模式,包含逻辑合约、代理合约和管理合约三部分,支持业务逻辑升级而不影响存储数据。详细阐述了合约架构设计、Solidity代码实现、Go SDK交互流程以及完整的部署升级步骤。方案具有数据持久性、版本兼容性和生产就绪等特点,提供了权限控制、输入验证等安全机制,并包含监控管理工具。该实现为企业级区块链存证应用提供了可靠的基础架构,支持后续功能扩展和定制化开发。

分享AI、区块链技术及应用,未来已来 1513

C#上位机国产化适配全方案:兼容统信UOS+鲲鹏/昇腾+国产PLC,可直接交付国企项目

去年下半年,我帮天津滨海新区一家给一汽丰田做配套的汽车零部件国企,完成了3条产线、12套C#上位机的全栈国产化适配。这个项目的背景很典型,也很戳中国企客户的命门:一开始客户找了两家本地的集成商,都没搞定:第一家只会用.NET Framework,根本不知道怎么在统信UOS上跑C#;第二家勉强用.NET Core 3.1跑起来了,但和汇川国产PLC的通信丢包率高达1.2%,产线根本不敢用。我们接手后,用了2个月完成全栈适配:从Windows Server 2019迁移到统信UOS 1070d服务器版,从.NE

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 498

MyBatis使用

​——MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发,内部封装了 jdbcMyBatis 本是 Apache 的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github官网:https://mybatis.org/mybatis-3/zh/index.html问题提出:(1)什么是持久层?JavaEE三层架构:表现层、业务层、持久层。

m0_62396421的博客 1767

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

使用mybatis-generator生成Mybatis代码

目录 是否要使用代码生成工具? mybatis-generator能做什么? 本文示例环境 具体操作步骤 步骤1:修改pom.xml,添加mybatis-generator-maven-plugin插件 步骤2:配置生成代码的配置文件generatorConfig.xml 步骤3:执行插件生成代码 生成的结果文件 如何使用生成的代码? 是否要使用代码生成工具? 有些声音说使用...

AOBO516的专栏 3万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

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

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

Mybatis的使用

MyBatis 是一个优秀的持久层框架,它对 JDBC 操作数据库的过程进行封装,使开发者只需要关注 SQL本身,而不需要花费精力去处理 注册驱动、创建connection、创建statement、手动设置参数、结果集检索等JDBC繁杂的过程代码。本内容介绍完之后,以一个员工表的案例,实现了增删改查的功能。

Slk_1314520的博客 1148

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

MyBatis的使用

新建一个maven工程 一、导包 在pom.xml里输入依赖 数据库连接驱动 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency> <!--Mybatis--> <dep

qq_43496435的博客 6936

mybatis的使用

简单的介绍一下mybatis的使用 采用的是maven的方式 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version&g...

aim6008的博客 219

MyBatis——MyBatis Generator插件使用

Mybatis Generator简称 MBG,是一个专门为 MyBatis和 ibatis框架使用者提供的代码生成器。也可以快速的根据数据表生成对应的pojo类、Mapper接口、Mapper文件,甚至生成QBC风格的查询对象。一般在项目中,根据MyBatis Generator的XML配置文件设置生成简单的CRUD,但是复杂的查询或者有关关联的操作还是需要我们写SQL完成。pom.xml引出 mybatis-generator 坐标。

weixin_45269539的博客 892

MyBatis的基本使用与mybatis-plus的基本使用

但不能混用。换句话说,如果你在一个项目中使用注解(如`@Select`)在Mapper接口中定义SQL语句,那么你就不需要在XML映射文件中再次定义相同的SQL语句;反之亦然,如果你选择在XML文件中定义SQL映射,那么Mapper接口中的注解就不需要了。### 只使用注解的方式:如果你选择使用注解,你的Mapper接口将直接包含所有的SQL语句,如下所示:```java@Mapper// 其他数据库操作方法...```### 只使用XML的方式:

qq_61818443的博客 745

Mybatis 简介及使用

mybatis介绍及使用。

m0_59748326的博客 1619

Mybatis 高级应用,将使用自己手写的mybatis改造为使用真正的mybatis

前面我们完成了手写Mybatis,并使用我们自己的mybatis。现在我们换成真正的mybatis

殷志鹏的博客 1364

MyBatis 与 MyBatis-Plus

MyBatis: 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis-Plus: 是 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis: 适用于对 SQL 有较高要求的复杂项目,需要更多的自定义和灵活性。MyBatis-Plus: 适用于快速开发中小型项目,特别是对开发效率有较高要求的场景。

qq_54802811的博客 1214

《Mybatis使用指南》入门使用Mybatis这一篇就够了

MyBatis 简介与入门 MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发。它通过 XML 或注解配置将 Java 对象与数据库表映射,自动处理结果集转换。相比传统 JDBC 需要手动创建连接、解析结果集等繁琐操作,MyBatis 提供更简洁的开发方式,支持连接池管理和日志记录。MyBatis 前身为 iBatis,现已成为主流 ORM 框架之一,常与 Spring Boot 集成使用,默认采用 HikariCP 连接池,也可切换为 Druid 等其他连接池。开发中常用 Lombok 简化

pbrush的博客 1633

Mybatis中使用in()查询

mybatis中使用in查询的两种方式

Syals的博客 2万+
上一篇: Asp.Net Core 模型绑定 浅析
下一篇: Vue同级组件的通信
IT回忆录
博客等级 码龄16年 42粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值