Mybatis核心配置文件优化

【云迁移工具RDA】迁移常见问题 Agent无法正常启动,Linux系统提示“SMS.0201 Failed to start sms agent!”,Windows系统提示“SMS.0201 源端主机网络繁忙,无法连接api网关”。该问题通常是由于源端没有通公网,或者没有按照要求配置hosts,无法与iam或者sms通信导致。需要排查源端网络。1.登录源端服务器。2.检查源端是否能正常访问互联网,若无法访问,请处理后重新启动Agent。可参考弹性公网IP Ping不通检查源端的DNS,防火墙,安全组、本地网络等。 阅读详情

现在我们的配置文件是这样的,但是这样存在一些问题

  • 配置文件显得很长
  • 无法动态修改
<?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="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybaits?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="000000"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="dao/UserMapper.xml" />
    </mappers>
</configuration>

properties属性优化

我们可以通过peoperties标签引入一个外部配置文件,拿的时候通过${}拿就可以了
写一个配置文件

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybaits?useSSL=true&useUnicode=true&characterEncoding=UTF-8
username=root
password=000000

然后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>
    <properties resource="db.properties" />

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="dao/UserMapper.xml" />
    </mappers>
</configuration>

我们还可以这样,外部内部写一半

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybaits?useSSL=true&useUnicode=true&characterEncoding=UTF-8

<?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">
        <property name="username" value="root"/>
        <property name="password" value="000000"/>
    </properties>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="dao/UserMapper.xml" />
    </mappers>
</configuration>

需要注意的是,假如我们内部外部都写的情况下,外部配置文件优先级>内部配置

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybaits?useSSL=true&useUnicode=true&characterEncoding=UTF-8
username=root
password=000000
<?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">
        <property name="username" value="root"/>
        <property name="password" value="000000"/>
    </properties>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="dao/UserMapper.xml" />
    </mappers>
</configuration>

typeAlias起别名

我们可以给Java bean起别名,有三种方式
第一种
给一个类起别名

<typeAliases>
        <typeAlias type="pojo.User" alias="User" />
    </typeAliases>

第二种
直接扫描一个包

<typeAliases>
        <package name="pojo"/>
    </typeAliases>

第三种
给Java bean直接添加一个注解Alias(别名)

package pojo;

import org.apache.ibatis.type.Alias;

@Alias("User")
public class User {
    private int id;
    private String name;
    private String password;

    public User() {
    }

    public User(int id, String name, String password) {
        this.id = id;
        this.name = name;
        this.password = password;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

Mapper映射器
有四种方式
第一种,推荐使用

<mappers>
  <mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
  <mapper resource="org/mybatis/builder/BlogMapper.xml"/>
  <mapper resource="org/mybatis/builder/PostMapper.xml"/>
</mappers>

第二种,请不要使用这种

<!-- 使用完全限定资源定位符(URL) -->
<mappers>
  <mapper url="file:///var/mappers/AuthorMapper.xml"/>
  <mapper url="file:///var/mappers/BlogMapper.xml"/>
  <mapper url="file:///var/mappers/PostMapper.xml"/>
</mappers>

第三种

<!-- 使用映射器接口实现类的完全限定类名 -->
<mappers>
  <mapper class="org.mybatis.builder.AuthorMapper"/>
  <mapper class="org.mybatis.builder.BlogMapper"/>
  <mapper class="org.mybatis.builder.PostMapper"/>
</mappers>

第四种
扫描一整个包

<!-- 将包内的映射器接口实现全部注册为映射器 -->
<mappers>
  <package name="org.mybatis.builder"/>
</mappers>

需要注意的是,第三种和第四种方法在使用的时候会有问题,那就是接口和它的配置文件必须在同一个包下,否则就会报错!!

图解电动汽车:电动汽车电控系统 电动汽车的电控系统通常包含三个子控制系统 —— 整车控制器、电池管理系统、驱动电机控制器。 整车控制器 VCU 整车控制器 VCU(Vehicle Control Unit)作为电动汽车的中央控制单元,是整个控制系统的核心,也是各个子系统的调控中心。VCU 的主要功能就是协调管理整车的运行状态,包括采集电机及电池状态,采集加速踏板信号、制动踏板信号、执行器及传感器信号,根据驾驶员的意图综合分析做出相应判定后,监控下层的各部件控制器的动作,它负责汽车的正常行驶、制动能量回馈、整车发动机及动力电池的能量管理、. 阅读详情

相关推荐

ENVI学习总结(十二)——基于改进的 CASA 模型反演 NPP

基于改进的 CASA 模型反演 NPP 数据为地理空间数据云提供的 TM 影像,其具体信息如图 1 所示。该实验中所使用的 TM 数据已进行过 QUAC 快速大气校正,来消除大气和光照等因素对地物反射的影响。Landsat 主题成像仪(TM)是 Landsat4 和 Landsat5 携带的传感器,每 16 天扫描同一地区,即 16 天覆盖全球一次。 TM 影像包含 7 个波段,波段 1-5 ...

Arcgiser的博客 3万+

mybatis动态更新xml文件后热部署,不重启应用的方法

mybatis应用程序,由于是半自动化的sql, 有大量的sql是在xml文件中配置的,而在开发程序的过程中,通常需要边写sql变调试应用。但在默认情况下,xml文件里配置的sql语句是被放入到缓存中去了,每次更改有sql语句的xml文件,需要重新启动应用,这样工作效率很低,于是很希望有一个动态加载xml文件的功能,自动加载新的sql语句,并重新写入到缓存中,在网上参考了很多资料,最终弄了一个简单...

杨航的专栏 7687

SAPABAP金色传说:关于导入和导出Excel时反复弹窗提示 SAP GUI安全性问题的解决方法

文章目录前言一、提示的到底是什么?二、关闭SAP GUI安全提示的步骤1.设置位置 前言 如果你在SAP中,经常需要将数据导出Excel,或者使用Excel进行批导数据,那么你对下面这个频繁出现的弹窗提示一定不陌生! 系统试图创建文件 C:\Users\15265\Desktop\EXPORT.XLSX 于目录 C:\Users\15265\Desktop\ 是否要授权修改父目录及其所有子目录? 不管你是不是选的记住我的决定,它必出!就很烦!那如何处理才能关闭呢? 提示:以下是本篇文章正文内容,看完快

Easystudios博客 1万+

Mybatis配置文件修改后自动加载

Mybatis的mapper文件中的sql语句被修改后, 只能重启服务器才能被加载, 非常耗时,所以就写了一个自动加载的类,配置后检查xml文件更改,如果发生变化,重新加载xml里面的内容.在Mybatis3.1.1上测试. package cn.common.dao; import java.io.IOException; import java.lang.reflect....

张飞的IT专栏 967

jetson agx orin开箱及接口介绍

jetson agx orin开箱及接口介绍

qq_58728069的博客 1万+

保姆级教程:用OpenCV的calibrateHandEye()搞定机器人手眼标定(附Python代码)

本文详细介绍了如何使用OpenCV的calibrateHandEye()函数完成机器人手眼标定,解决机械臂与相机坐标系对齐问题。教程涵盖从基础原理、数据采集到Python代码实现的完整流程,特别适合需要精确视觉引导的机器人应用开发。通过手眼标定,可确保机械臂准确抓取相机检测到的目标物体。

weixin_33712987的博客 515

mybatis动态SQL配置文件

<?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"> <!-- namespace:命名空间,用于隔离sql,还有一个很重要的...

苏凯的博客 1044

华为OD机试2025C卷 - CPU调度策略 (C++ & Python & JAVA & JS & GO)

华为OD机试 2025C卷 CPU调度策略,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 1296

java代码怎么动态修改xml配置文件内容_MyBatis怎么快速入门

MyBatis是一个优秀的持久层框架,它对JDBC操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等JDBC繁杂的过程代码。对JDBC进行封装的框架有哪些Mybatis,Hibernate,dbutils,Spring中的jdbcTemplate。MyBatis基本原理Myba...

weixin_39947396的博客 740

Python爬虫实战:全方位解析前程无忧(51job)职位详情爬取及反爬破解

平台规模:覆盖全国各行业、数百万条岗位信息。数据特点:职位描述详细,职位标签丰富。数据价值:支持招聘趋势分析、职业发展研究、薪资行情调研。推荐Python 3.10+,支持最新async特性与库兼容。

2201_76125261的博客 1486

Matplotlib之bar3d画3D柱状图

3D柱状图通常用于展示数据集中不同分类项的数据大小或数量。与普通的柱状图相比,3D柱状图更适合展示数据的三个维度 3D 柱状图 按行/列涂颜色 柱加阴影、描黑边 自定义座标轴名、刻度标签、范围

我走的每一步都算数 1121

MyBatis核心配置文件mybatis-config.xml主要参数详解与使用场景

前提提要 本系列Mybatis笔记基于mybatis3.5.2 , https://github.com/mybatis/mybatis-3/releases/tag/mybatis-3.5.2中有详细的文档说明,可以进行下载阅读,本文只是对Mybatis的一些常用操作进行汇总总结。 推荐视频资料:https://www.bilibili.com/video/BV1VP4y1c7j7?p=1 所需前提:对maven有些了解。(maven v3.6.1)如果对maven不是很熟悉推荐博主文章。Maven常用

写写平时的技术与感想 8210

【QT开发教程】使用Qt进行NFC编程

近场通信(NFC,Near Field Communication)技术广泛应用于现代设备中,例如智能手机、支付终端和门禁系统。Qt提供了一套完整的NFC模块,使开发者可以轻松地在应用程序中实现NFC功能。本文将介绍如何在Qt中进行NFC编程,包括基本概念、使用方法以及一些实际的示例。

科技改变人类,技术成就未来 1468

Mybatis学习 02 (核心配置文件优化)

mybatis

aagjkgluhgyy的博客 318

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Mybatis(6) —— 核心配置文件中的属性优化

目录4.11、Mybatis核心配置文件2、环境配置(environments)1.事务管理器(transactionManager)2.数据源(dataSource)3、属性(properties)4、类型别名(typeAliases)5、设置(settings)6、映射器(mappers) 4.1 1、Mybatis核心配置文件     官方文档推荐我们将Mybatis核心配置文件命名为mybatis-config.xml MyBatis 的配置文件包含了会深

Jzandth的博客 309

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

MyBatis:核心配置文件优化(狂神)

DIY:表明字可以自定义别名 引入外部配置文件:db.properties: mybatis-config.xml: 当进行配置的时候应按照顺序进行排放: 在进行映射器的时候,按照第一种方式,在配置文件中配置,如果想要使用class文件绑定注册,需要把UserDao重新命名为UserMapper,否则会报错UserDao: 当在配置文件中配置别名后,在UserMapper.xml:中就可以把com.kuang.pojo.User11换成User了 实体类也可以使用注解,自定义别

dengfengling999的博客 266

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【 MyBatis 】常用的几个配置,优化我们的核心配置文件(简单明了、通俗易懂)

在MyBatis的环境搭建好之后,我们可以对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"> <

她的坏机器人 413

优化MyBatis核心配置文件内容 / properties文件 / typeAliases设置别名 / 通过包名引入映射文件 / 文件的模板

就可以在当前核心配置文件中使用 ${key} 方式,来访问到所对应的value值。在resources创建的目录Directory不能在中间写 . 而是 /在mybatis范围之内只需要访问这个别名就可以访问到具体的类型。所以通过包来引入当前的映射文件,这样所有的包里面的映射文件都全部引入。要求:①映射文件所在的包和mapper接口所在的包名一致,②映射文件的名字和接口名字保持一致。类型别名:可以为每个具体的类型设置一个简短的名字,如有多个映射文件,要一个一个引入是有点麻烦的,

zjw_rp的博客 239

Mybatis

本文摘要: 文章系统梳理了MySQL JDBC驱动配置(5.8版本差异)、JDBC操作流程及四大痛点(连接池、SQL硬编码等),重点解析MyBatis框架原理与优化实践。涵盖配置文件分离(db.properties)、类型别名简化、动态SQL(if/where/foreach)、表关系映射(association/collection)及缓存机制(一/二级缓存)。特别强调#与$区别、多参数传递方式及ThreadLocal优化SqlSession管理,提供从基础配置到高级特性的完整MyBatis开发指南。

wdh0123456789的博客 1097

【IDEA优化】:配置MyBatis核心配置文件通过${}占位符引入外部属性的自动提示(独家方案,亲测可用,全网首发?)

在没有现成的解决方案的情况下,提出切实可行的方式解决IDEA MyBatis核心配置文件的外部属性自动提示的问题,主要利用语言注入

qihang_1217的博客 1299

Mybatis配置解析

MyBatis 的真正强大在于它的映射语句,这是它的魔力所在。数据库这些属性都是可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来传递。它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余。中的 Java Bean,在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名。理解我们目前已经讨论过的不同作用域和生命周期类是至关重要的,因为错误的使用会导致非常严重的并发问题。我们来优化我们的配置文件。

redemption_2的博客 1087

MyBatis 核心配置文件及映射文件

MyBatis学习笔记

m0_62434717的博客 1571

初始MyBatis(三) -- Mybatis配置文件解析 及 配置文件的优化

前言: MyBatis 文档中提供很多不错的解读,通过阅读文档发现文档真的是个不错的东西, 本文主要是对 MyBatis 配置文件 mybatis-config.xml 的 的解读,以及对配置文 件的优化。 废话就不多BB 了,咱们先来看看文档首先给我们的配置文件: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN

潘小蓝的博客 645

Mybatis 学习笔记

文章目录第一个Mybatis 程序 第一个Mybatis 程序 1.环境搭建 1.删除src 让他变成一个父工程 2.添加子工程 3.添加jar包 三个 这里有 4. 添加这个 父工程和子工程的pom.xml都要添加 一定要加不然后面运行会报错 由于maven由于他的约定大于配置,我们之后可以遇到我们写的配置文件无法导出或者生效的问题,加 <build> <resources> <resource>

李的博客 322

MyBatis学习笔记---First

前言 Mybatis框架优点 半自动化管理 作用于DAO层 动态、小巧灵活 Mybatis框架特点 基于SQL语法、简单易学。 便于调试、能了解底层封装过程。 SQL语句封装在配置文件中,便于管理,降低成语耦合。   数据持久化概念:持久化式程序数据在瞬时状态和持久状态的之间的转化过程。 ---- 瞬时状态 === 表示在内存中的文件,数据。通俗就是临时文件...

李诺轩的博客 1125

02-MyBatis-CRUD操作及配置解析

1、namespace 个人的理解:namespce相当于接口实现类,id就是方法名 2、Select select标签是mybatis中最常用的标签之一 select语句有很多属性可以详细配置每一条SQL语句 id: 就是对应的namespace中的方法名 resultType: Sql语句执行的返回值 parameterType: 参数类型 需求: 根据id查询用户 1、在UserMapper中添加对应方法 public interface UserMapper { //查询全部

qq_45632660的博客 184
上一篇: Mybatis模糊查询
下一篇: Mybatis生命周期和作用域
小小代码熊
博客等级 码龄7年 5粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值