MyBatis——MyBatis的ORM映射和MyBatis的配置文件升级

【PLC】三菱PLC控件安装疑难解析:Error Number:-119的全面解决方案 本文针对三菱PLC控件安装过程中常见的Error Number:-119错误,提供了深度解析与实战解决方案。该错误通常源于Windows系统权限限制或文件冲突。文章从理解错误本质入手,逐步介绍了以管理员身份运行、手动注册DLL文件、采用新版环境搭配旧版控件的黄金组合以及系统环境修复等四大招法,帮助用户彻底解决这一安装难题,确保工控软件稳定运行。 阅读详情

1.MyBatis的ORM映射

拷贝之前的工程:
在这里插入图片描述

1.1.什么是ORM映射

MyBatis只能自动维护库表”列名“与”属性名“相同时的对应关系,二者不同时无法自动ORM,如下:

在这里插入图片描述

1.2.列的别名

在SQL中使用 as 为查询字段添加列别名,以匹配属性名:

    public List<Role> findAll();
    <select id="findAll" resultType="com.wt.pojo.Role" >
        select id, role_name as roleName, role_desc as roleDesc from role
    </select>

思考: 如果我们的查询很多,都使用别名的话写起来岂不是很麻烦,有没有别的解决办法呢?

1.3.结果映射

使用ResultMap标签手动映射,解决实体字段和数据表字段不一致的问题

	public List<Role> findAll2();
    <!--
        id:和select查询标签的返回值保持一致
        type: 映射实体的全类名
    -->
    <resultMap id="findAll2ResultMap" type="com.wt.pojo.Role">
        <!--
            描述主键字段的映射关系:
                property:实体类的属性
	            column:数据表字段名称
        -->
        <id property="id" column="id" />

        <!--
            描述非主键字段的映射关系:
                property:实体类的属性
	            column:数据表字段名称
        -->
        <result property="roleName" column="role_name" />
        <result property="roleDesc" column="role_desc" />
    </resultMap>
    <select id="findAll2" resultMap="findAll2ResultMap" >
        select * from role
    </select>

2.MyBatis的配置文件

拷贝之前的工程:

在这里插入图片描述

2.1.properties标签

  1. 我们一般会把数据库配置信息定义在一个独立的配置文件里面,比如db.properties:

    jdbc.driver=com.mysql.cj.jdbc.Driver
    //这是mysql8的写法(复制的时候注意将没用的内容删除)
    jdbc.url=jdbc:mysql://localhost:3306/mybatis?useSSL=false&serverTimezone=Asia/Shanghai
    //这是mysql5的写法
    //jdbc.url=jdbc:mysql://127.0.0.1:3306/mybatis?characterEncoding=UTF-8
    jdbc.username=root
    jdbc.password=1111
    

    那么我们如何在mybatis的核心配置文件里面加载外部的数据库配置信息呢?

  2. 在SqlMapConfig.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>
        <!--引入db.properties-->
        <properties resource="db.properties"></properties>
        <environments default="mysql">
            <environment id="mysql">
                <transactionManager type="JDBC"></transactionManager>
                <dataSource type="POOLED">
                    <!--使用${}占位符获取配置信息-->
                    <property name="driver" value="${jdbc.driver}"/>
                    <property name="url" value="${jdbc.url}"/>
                    <property name="username" value="${jdbc.username}"/>
                    <property name="password" value="${jdbc.password}"/>
                </dataSource>
            </environment>
        </environments>
        <mappers>
            <mapper resource="com/wt/dao/UserDao.xml"/>
        </mappers>
    </configuration>
    

2.2.typeAliases标签

查看mybatis源码可以看到 Mybatis 默认支持的别名:

我们也可以为实体类定义别名,提高书写效率:

  1. 定义别名

    <?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"></properties>
        <typeAliases>
            <!--定义单个别名-->
            <!--<typeAlias type="com.by.pojo.User" alias="User"></typeAlias>-->
            <!--批量定义别名-->
            <package name="com.wt.pojo"></package>
        </typeAliases>
        <environments default="mysql">
            <environment id="mysql">
                <transactionManager type="JDBC"></transactionManager>
                <dataSource type="POOLED">
                    <property name="driver" value="${jdbc.driver}"/>
                    <property name="url" value="${jdbc.url}"/>
                    <property name="username" value="${jdbc.username}"/>
                    <property name="password" value="${jdbc.password}"/>
                </dataSource>
            </environment>
        </environments>
        <mappers>
            <mapper resource="com/wt/dao/UserDao.xml"/>
        </mappers>
    </configuration>
    
  2. 使用别名

    <?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.by.dao.UserDao">
        <!--使用别名-->
        <select id="findAll" resultType="User">
            select * from user
        </select>
    </mapper>
    
  3. debug查看注册的别名

2.3.Mappers标签

Mappers标签的作用是用来在核心配置文件里面引入映射文件,引入方式有如下三种:

  1. 使用mapper映射文件的路径

        <mappers>
            <mapper resource="com/wt/dao/UserDao.xml"/>
        </mappers>
    
  2. 使用mapper接口的路径

    <mappers>
        <mapper class="com.wt.dao.UserDao"></mapper>
    </mappers>
    

    注意:此种方法要求 mapper 接口名称和 mapper 映射文件名称相同

  3. 使用mapper接口的包名批量引入

        <mappers>
            <package name="com.wt.dao"></package>
        </mappers>
    

    注意:此种方法要求 mapper 接口名称和 mapper 映射文件名称相同
    在这里插入图片描述

Ansys Zemax导入CAD文件避坑指南:STL/STEP/IGES格式选择与性能优化 本文深度解析了在Ansys Zemax中导入CAD文件的核心要点与性能优化策略。针对STL、STEP、IGES等主流格式,详细对比了其几何表示、精度与适用场景差异,并提供了基于模型特征的格式选择决策树。文章重点分享了体元、弦公差等高级参数的调优技巧,以及处理复杂装配体避免精度陷阱的实战指南,旨在帮助光学工程师提升仿真效率与结果可靠性。 阅读详情

相关推荐

晶闸管选型参数,结构原理,工艺与注意问题总结

闸管(Thyristor)是一种半导体开关器件,也被称为可控硅整流器(SCR, Silicon Controlled Rectifier)。它可以在高电压大电流条件下工作,常被用于交流电的控制整流。本文对晶闸管的工作原理,结构特点,工艺流程,选型参数及设计注意事项进行总结。

fydar的博客 1231

【一】Mybatis

一、mybatis的概述 mybatis是一个持久层框架,用java编写的。它封装了jdbc操作的很多细节,使开发者只需要关注sql语句本身,而无需关注注册驱动,创建连接等繁杂过程。它使用了ORM思想实现了结果集的封装。ORM:Object Relational Mappging 对象关系映射,简单的说:就是把数据库表实体类及实体类的属性对应起来,让我们可以操作实体类就实现操作数据库表(实体...

weixin_41449756的博客 457

Lammps实现Ar的沸腾过程(包含in文件)

Lammps实现简单的沸腾过程

Rockyoung 3453

mybatis —— ORM框架

什么是框架 框架是一种经过校验、具有一定功能的半成品软件品,已经对基础的代码进行了封装并提供相应的API,开发者在使用框架是直接调用封装好的api可以省去很多代码编写,从而提高工作效率开发速度。 什么是ORM ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库业务实体 对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去复杂的SQL语句打交 道,只需简单的操作对象的属性方法。 ...

weixin_46610000的博客 4273

MyBatis详解(1)-- ORM模型

4.对结果集解析麻烦,sql变化导致解析代码变化,且解析前需要遍历,如果能将数据库记录封装成pojo对象解析比较方便。

ji_xin0721的博客 1373

Mybatis框架(二)再遇MybatisMybatis配置文件映射文件

再遇MybatisMybatis配置文件映射文件

JF的博客 1073

mybatis关联关系映射

mybatis关联关系映射 1、一对多的关联关系 1.1 首先先用逆向生成工具生成对应的model与mapper这两张表 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configurati...

weixin_44222066的博客 179

mybatis完结撒花 附上学习笔记

1.java的一个框架(framework),对jdbc不足进行的升级ORM:对象 关系 映射2.特点mybatis 属于半自动化ORM框架,Hibernate属于全自动化ORM框架mybatis 支持定制化SQL存储过程,基本映射以及高级映射避免了几乎所有的JDBC代码中手动设置参数以及获取结果集支持XML开发,也支持注解式开发【为了保证sql语句的灵活,所以mabatis大部分呢式采用XML开发】将接口java的POJOS(简单普通的java对象)映射成数据库中的记录。

qq_73240755的博客 890

MyBatis的理解

MyBatis是ibatis的升级版,是一种orm工具,简化了数据库方面的操作,另外MyBatis消除了几乎所有的JDBC代码参数的手工配置以及结果集的检索,myBatis使用简单的xml或者注解用于配置原始映射,将接口java的java对象,映射成数据库中的记录;...

u010866201的博客 349

MyBatis ORM映射方式详解

MyBatis是一个持久层框架,它通过XML描述符或注解将Java对象与数据库记录进行映射。与Hibernate等全自动ORM框架不同,MyBatis允许开发者直接编写SQL语句,从而提供了更高的灵活性控制力。MyBatis作为一种灵活且强大的ORM框架,提供了多种映射方式,包括基于XML的映射、基于注解的映射以及混合映射。开发者可以根据项目需求选择合适的映射方式,并通过动态SQL、关联映射、延迟加载等高级特性进一步提升应用的性能可维护性。

weixin_39033358的博客 2204

MyBatis 工作原理解析:如何做到 ORM 映射的优雅

MyBatis 是一个支持自定义 SQL 查询、存储过程以及高级映射的持久层框架。它最初名为 iBATIS,由 Clinton Begin 在 2001 年创建,后被 Apache 接收并更名为 iBATIS,2010 年迁移到 Google Code 后正式更名为MyBatis,目前由 GitHub 托管。MyBatis 以其轻量、灵活、高效的特点,在众多 ORM 框架中独树一帜。

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

MyBatisORM映射

对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。1.提高了开发效率。由于ORM可以自动对Entity对象与数据库中的Table进行字段与属性的映射,所以我们实际可能已经不需要一个专用的、庞大的数据访问层。2.ORM提供了对数据库的映射,不用sql直接编码,能够像操作对象一样从数据库获取数据。

0 1100

六、MybatisORM映射

ORM映射是一种技术,它通过现实ORM规范,完成面向对象的编程语言到关系数据库的映射。它可以把关系型数据库封装成对象,解决面向对象编程语言与底层关系数据库不协调的问题。类与表相对应。类的属性(成员变量)与表的字段相对应。类的实例与表中具体的一条记录相对应。一个类可以对应多个表,一个表也可以对应多个类。数据库中的表可以没有主键,但是类的实例中必须设置主键字段。数据库中表与表之间的关系(如外键)映射成为对象之间的关系。

wasd2051678946的博客 1111

MybatisORM对象关系映射框架Mybatis开发步骤

MyBatis 的前身是 iBatis。iBatis 是由 Clinton Begin 创建的一个开源项目,最初是在 Apache Software Foundation 下进行的。iBatis简化了 Java 应用程序与数据库之间的交互,MyBatis 保留了 iBatis 的核心特性,比如 SQL 映射文件、动态 SQL 缓存机制等,同时也引入了一些新的特性改进,比如增强了对动态 SQL 的支持、提供了更多的配置选项以及更好的性能优化等。

m0_66584716的博客 1208

MyBatisORM映射配置文件

对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。

w2144217940的博客 748

关于Mybatis是半自动ORM映射工具解释

ORM(Object-Relational Mapping,对象关系映射)是一种用于简化数据库访问的技术,它通过将数据库中的表结构映射为编程语言中的对象,使得开发者可以使用面向对象的方式来操作数据库数据,而不需要编写大量的 SQL 语句。MyBatis 是一款支持定制 SQL、存储过程高级映射的持久层框架。它允许开发者通过 XML 映射文件或注解来定义 SQL 语句,以及将查询结果与 Java 对象进行映射

Flying_Fish_roe的博客 819

idea maven 逆向工程

//pom.xml 依赖此插件用来生成通用mapper的代码 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId&...

256

深入理解MyBatis:轻量级ORM框架的优势与实践

与全自动化ORM框架不同,MyBatis提供灵活性控制权,通过简单的XML或注解配置来映射原生信息,使其成为半自动化的ORM解决方案。Mybatis 不仅可以做SQL优化还可以SQL与Java分离,还可以自行编写映射关系,复杂的SQL语句Mybatis效率更高。Hibernate 不方便做SQL优化,遇到较复杂的SQL语句需要绕过框架实现复杂,对多字段的结构进行部分映射困难;Hibernate是一个重量级的框架,内部生成SQL语句,反射操作太多,导致性能下降;层不允许不允许使用方法的重载。

disper1110的博客 1355

第二章 ORM框架-Mybatis

Mybatis概述及环境搭建

weixin_44530052的博客 557

MyBatis——ORM思想、MyBatis概述、MyBatis入门程序、MyBaits核心组件、日志框架

目录 NOSQL概述 NOSQL关系型数据库比较 NOSQL的优缺点 非关系型数据库的优势 关系型数据库的优势 主流的NOSQL产品 Redis概述 Redis的五种数据类型 字符串类型String 哈希类型hash 有序可重复列表类型list 无序不可重复列表类型set 有序结合类型sortset Redis的通用命令 1. 走进MyBatis 1.1框架 什么是框架,框架...

Guizy 1万+

Mybatis】什么是 ORM(对象关系映射

文章目录一、什么是ORM二、mybatisORM的体现三、核心原则四、ORM的优缺点五、总结 一、什么是ORM         对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 怎么理解上面的那句话呢?         在Java中我们使用Stri

✈ 正在努力 の 寒江(StudiousTiger) ✌ 呐 ✈ 6913

【SpringBoot】| ORM 操作 MySQL(集成MyBatis

【SpringBoot】| ORM 操作 MySQL(集成MyBatis

m0_61933976的博客 2789

蜜蜂El编辑器v4.3.9.rar

蜜蜂El编辑器v4.3.9

1992-2023年各省国内生产总值、第一产业增加值、第二产业增加值、第三产业增加值数据(无缺失).xlsx

1992-2023年各省国内生产总值、第一产业增加值、第二产业增加值、第三产业增加值数据(无缺失)1、时间:1992-2023年2、范围:Q国及31省3、指标:国内生产总值、第一产业增加值、第二产业增加值、第三产业增加值4、来源:整理自国家统计J、各省NJ5、缺失情况:无缺失更多介绍见:https://blog.csdn.net/m0_71334485/article/details/139600621

上一篇: MyBatis——MyBatis的原始Dao开发(了解)
下一篇: MyBatis——MyBatis的关联查询
wt-jiubie
博客等级 码龄6年 343粉丝 60原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值