mybatis-210717-02---全局配置文件

2026年AI大模型面试题整理(含答案).zip 2026年AI大模型面试题整理(含答案),共76份。供大家学习参阅。 AI大模型八股文(102).pdf Transformer面试题总结97道.pdf 大模型 LLM 最全八股和答案.pdf 大模型 RAG 经验面.pdf 大模型LLMS面试宝典.pdf 大模型岗位面试全纪录.pdf 大模型常考面试题总结+答案.pdf 大模型常见面试题及解答1.pdf 大模型常见面试题及解答2.pdf 大模型常见面试题及解答3.pdf 大模型校招面试题.pdf 50个精通AI大模型面试题.pdf 52道大模型八股文面试题\1-大模型(LLMs)基础面.docx 52道大模型八股文面试题\10-LLMs+训练经验帖.docx 52道大模型八股文面试题\11-大模型(LLMs)langchain+面.docx 52道大模型八股文面试题\12-多轮对话中让AI保持长期记忆的8种优化方式篇.docx 52道大模型八股文面试题\13-基于langchain+RAG问答应用实战.docx 52道大模型八股文面试题\14-基于LLM+向量库的文档对话+经验面.docx 52道大模型八股文面试题\15-大模型+RAG+经验面.docx 52道大模型八股文面试题\16-LLM文档对话+——+pdf解析关键问题.docx 52道大模型八股文面试题\17-大模型(LLMs)RAG+版面分析——表格识别方法篇.docx 52道大模型八股文面试题\18-大模型(LLMs)RAG+版面分析——文本分块面.docx 52道大模型八股文面试题\19-大模型外挂知识库优化——如何利用大模型辅助召回?.docx 52道大模型八股文面试题\2-Layer+normalization+篇.docx 52道大模型八股文面试题\20-大模型外挂知识库优化——负样本样本挖掘篇.docx 52道大模型八股文面试题\21-RAG(Retrieval-Augmented+Generation)评测面.docx 52道大模型八股文面试题\22-检索增强生成(RAG)+优化策略篇6.docx 52道大模型八股文面试题\23-大模型(LLMs)RAG+——+关键痛点及对应解决方案.docx 52道大模型八股文面试题\24-大模型(LLMs)RAG+优化策略+——+RAG-Fusion篇.docx 52道大模型八股文面试题\25-Graph+RAG+面+—+一种+基于知识图谱的大模型检索增强实现策略.docx 52道大模型八股文面试题\26-大模型(LLMs)参数高效微调(PEFT)+面.docx 52道大模型八股文面试题\27-适配器微调(Adapter-tuning)篇.docx 52道大模型八股文面试题\28-提示学习(Prompting)篇.docx 52道大模型八股文面试题\29-LoRA+系列篇.docx 52道大模型八股文面试题\3-LLMs+激活函数篇.docx 52道大模型八股文面试题\30-如何使用+PEFT库+中+LoRA?.docx 52道大模型八股文面试题\31-大模型(LLMs)推理面.docx 52道大模型八股文面试题\32-大模型(LLMs)增量预训练篇.docx 52道大模型八股文面试题\33-增量预训练(Pretrain)样本拼接篇.docx 52道大模型八股文面试题\34-基于lora的llama2二次预训练.docx 52道大模型八股文面试题\35-大模型(LLMs)评测面.docx 52道大模型八股文面试题\36-大模型(LLMs)强化学习面.docx 52道大模型八股文面试题\37-大模型(LLMs)强化学习——RLHF及其变种面.docx 52道大模型八股文面试题\38-大模型(LLMs)强化学习——+PPO+面.docx 52道大模型八股文面试题\39-强化学习在自然语言处理下的应用篇.docx 52道大模型八股文面试题\4-Attention+升级面.docx 52道大模型八股文面试题\40-大模型(LLMs)训练集面.docx 52道大模型八股文面试题\41-大模型(LLMs)LLM生成SFT数据方法面.docx 52道大模型八股文面试题\42-大模型(LLMs)显存问题面.docx 52道大模型八股文面试题\43-显存优化策略篇.docx 52道大模型八股文面试题\44-大模型(LLMs)分布式训练面.docx 52道大模型八股文面试题\45-图解分布式训练(一)+——+流水线并行(Pipeline+Parallelism).docx 52道大模型八股文面试题\46-图解分布式训练(二)+——+nn.DataParallel篇.docx 52道大模型八股文面试题\47-图解分布式训练(三)+——+nn.parallel.DistributedDataParallel.docx 52道大模型八股文面试题\48-图解分布式训练(四)+——+torch.multiprocessing+详细解析0.docx 52道大模型八股文面试题\49-图解分布式训练(五)+——+AMP混合精度训练+详细解析.docx 52道大模型八股文面试题\5-transformers+操作篇.docx 52道大模型八股文面试题\50-图解分布式训练(六)——+Pytorch的+DeepSpeed+详细解析.docx 52道大模型八股文面试题\51-图解分布式训练(七)——+accelerate+分布式训练+详细解析.docx 52道大模型八股文面试题\52-图解分布式训练(八)——+ZeRO+学习.docx 52道大模型八股文面试题\6-LLMs+损失函数篇.docx 52道大模型八股文面试题\7-相似度函数篇.docx 52道大模型八股文面试题\8-大模型(LLMs)进阶面.docx 52道大模型八股文面试题\9-大模型(LLMs)微调面.docx 李老师AI大模型面试题资料\Agent Loop&Loop Engineering面试10连问.md 李老师AI大模型面试题资料\Agent Loop面试10连问.pptx 李老师AI大模型面试题资料\AI大模型面试题.png 李老师AI大模型面试题资料\DeepSeek Harness 10连问.pptx 李老师AI大模型面试题资料\FDE岗位常见面试题.pptx 李老师AI大模型面试题资料\Milvus3.0新特性.pptx 李老师AI大模型面试题资料\RAG码士学习平台知识库项目.png 李老师AI大模型面试题资料\RAG码士学习平台知识库项目.pptx 连老师AI大模型面试资料\Langchain.txt 连老师AI大模型面试资料\连老师LangChain面试题:httpscloud.fynote.comsharesZUIogPG4.txt 立即下载

mybatis-210717-02—全局配置文件


properties_引入外部配置文件

mybatis中xml中properties配置:
	https://mybatis.org/mybatis-3/zh/configuration.html#properties

mybatis-config.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>

	<!-- 
		1. mybatis可以使用properties引入外部properties配置文件內容
			resource=""		引入类路径下的资源
			url=""			引入网络路径或者磁盘路径下的资源
	-->
	<properties resource="dbconfig.properties"></properties>

	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC" />
			<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>

	<!-- 将我们写好的sql映射文件(EmployeeMapper.xml)注册到全局配置文件(mybatis-config.xml)中 -->
	<mappers>
		<mapper resource="EmployeeMapper.xml" />
	</mappers>
</configuration>

dbconfig.properties

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis_test_210716_01?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT
jdbc.username=root
jdbc.password=admin


settings_运行时行为设置

mybatis中xml中settings配置:
	https://mybatis.org/mybatis-3/zh/configuration.html#settings

mybatis-config.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>

	<!-- 
		1. mybatis可以使用properties引入外部properties配置文件內容
			resource=""		引入类路径下的资源
			url=""			引入网络路径或者磁盘路径下的资源
	-->
	<properties resource="dbconfig.properties"></properties>
	
	<!--
		 settings包含很多重要的设置项
		 	setting用来设置每一个设置项
		 		name:设置项名
		 		value:设置项取值
	-->
	<settings>
		<setting name="mapUnderscoreToCamelCase" value="true"></setting>
	</settings>

	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC" />
			<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>

	<!-- 将我们写好的sql映射文件(EmployeeMapper.xml)注册到全局配置文件(mybatis-config.xml)中 -->
	<mappers>
		<mapper resource="EmployeeMapper.xml" />
	</mappers>
</configuration>

EmployeeMapper.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">
	
  <!--
	<settings>
		<setting name="mapUnderscoreToCamelCase" value="true"></setting>
	</settings>
    这个配置不需要起别名。
  -->
  <select id="getEmpById" resultType="com.bgy.bean.Employee">
    select 
    	id,last_name,gender,email
    from 
    	tbl_employee 
    where 
    	id = #{id}
  </select>
</mapper>


typeAliases_别名

mybatis中xml中typeAliases配置:
	https://mybatis.org/mybatis-3/zh/configuration.html#typeAliases

mybatis-config.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>

	<!-- 
		1. mybatis可以使用properties引入外部properties配置文件內容
			resource=""		引入类路径下的资源
			url=""			引入网络路径或者磁盘路径下的资源
	-->
	<properties resource="dbconfig.properties"></properties>
    
    <!-- ====================================================================================== -->
	
	<!--
		 2. settings包含很多重要的设置项
		 	setting用来设置每一个设置项
		 		name:设置项名
		 		value:设置项取值
	-->
	<settings>
		<setting name="mapUnderscoreToCamelCase" value="true"></setting>
	</settings>
	
	<!-- ====================================================================================== -->
    
	<!--
		3. typeAliases:别名处理器,可以为我们的java类型起别名 
		   别名不区分大小写
	-->
	<typeAliases>
		<!--
			方法1.
				type:指定要起的别名的类型全类名,默认别名就是类名小写,employee
				alias:指定新的别名
		-->
		<typeAlias type="com.bgy.bean.Employee" alias="employee"/>
		
		<!--
			方法2.
				package:为某个包下的所有类批量起别名
				name:指定包名(为当前包以及下面所有的后代包的每一个类都起一个默认别名【类名小写】)
		-->
		<package name="com.bgy.bean"/>
		
		<!-- 
			方法3.
				批量起别名的情况下,如果类名重复,使用@Alias注解为某个类型执指定新的别名 
		-->
	</typeAliases>

	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC" />
			<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>

	<!-- 将我们写好的sql映射文件(EmployeeMapper.xml)注册到全局配置文件(mybatis-config.xml)中 -->
	<mappers>
		<mapper resource="EmployeeMapper.xml" />
	</mappers>
</configuration>

Employee.java

package com.bgy.bean;

import org.apache.ibatis.type.Alias;

/*
 	批量起别名的情况下,使用@Alias注解为某个类型执指定新的别名,叫emp
 	如果bean包下有子包,子包也叫Employee,那就要使用注解起别名了
 */
@Alias(value = "emp")
public class Employee {
	
	private Integer id;
	private String lastName;
	private String email;
	private String gender;
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	@Override
	public String toString() {
		return "Employee [id=" + id + ", lastName=" + lastName + ", email=" + email + ", gender=" + gender + "]";
	}
}

EmployeeMapper.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">
<!-- 
	namespace:名称空间;指定为接口的全类名
-->
<mapper namespace="com.bgy.dao.EmployeeMapper">
	<!-- 别名不区分大小写,可以写Employee,也可以写employee -->
	<!-- 批量起别名的情况下,使用@Alias注解为某个类型执指定新的别名,那就需要使用新的别名 -->
  <select id="getEmpById" resultType="emp">
    select 
    	id,last_name,gender,email
    from
    	tbl_employee 
    where 
    	id = #{id}
  </select>
</mapper>


typeHandlers_类型处理器

mybatis中xml中typeHandlers配置:
	https://mybatis.org/mybatis-3/zh/configuration.html#typeHandlers


environment_运行环境

mybatis中xml中environmen配置:
	https://mybatis.org/mybatis-3/zh/configuration.html#environments

mybatis-config.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>

	<!-- 
		1. mybatis可以使用properties引入外部properties配置文件內容
			resource=""		引入类路径下的资源
			url=""			引入网络路径或者磁盘路径下的资源
	-->
	<properties resource="dbconfig.properties"></properties>
    
    <!-- ====================================================================================== -->
	
	<!--
		 2. settings包含很多重要的设置项
		 	setting用来设置每一个设置项
		 		name:设置项名
		 		value:设置项取值
	-->
	<settings>
		<setting name="mapUnderscoreToCamelCase" value="true"></setting>
	</settings>
	
    <!-- ====================================================================================== -->
	
	<!--
		3. typeAliases:别名处理器,可以为我们的java类型起别名 
		   别名不区分大小写
	-->
	<typeAliases>
		<!--
			方法1.
				type:指定要起的别名的类型全类名,默认别名就是类名小写,employee
				alias:指定新的别名
		-->
		<typeAlias type="com.bgy.bean.Employee" alias="employee"/>
		
		<!--
			方法2.
				package:为某个包下的所有类批量起别名
				name:指定包名(为当前包以及下面所有的后代包的每一个类都起一个默认别名【类名小写】)
		-->
		<package name="com.bgy.bean"/>
		
		<!-- 
			方法3.
				批量起别名的情况下,如果类名重复,使用@Alias注解为某个类型执指定新的别名 
		-->
	</typeAliases>
    
    <!-- ====================================================================================== -->
	
	<!-- 
		environments:环境,mybatis可以配置多种环境;default指定使用某种环境
			environment:配置一个具体的环境信息;必须要一下两个标签;id代表当前环境的唯一标识
				transactionManager:事务管理器
					type:事务管理器的类型
						JDBC | MANAGED
						自定义事务管理器:实现TransactionFactory接口.type指定为全类名
				dataSource:数据源
					type:数据源类型
						UNPOOLED | POOLED | JNDI
						自定义数据源:实现DataSourceFactory接口,type是群类名
					
	-->
	<environments default="development">
	
		<environment id="test">
			<transactionManager type=""></transactionManager>
			<dataSource type=""></dataSource>
		</environment>
		
		<environment id="development">
			<transactionManager type="JDBC" />
			<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>

	<!-- 将我们写好的sql映射文件(EmployeeMapper.xml)注册到全局配置文件(mybatis-config.xml)中 -->
	<mappers>
		<mapper resource="EmployeeMapper.xml" />
	</mappers>
</configuration>


databaseIdProvider_多数据库支持

mybatis中xml中databaseIdProvider配置:
	https://mybatis.org/mybatis-3/zh/configuration.html#databaseIdProvider

mybatis-config.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>

	<!-- 
		1. mybatis可以使用properties引入外部properties配置文件內容
			resource=""		引入类路径下的资源
			url=""			引入网络路径或者磁盘路径下的资源
	-->
	<properties resource="dbconfig.properties"></properties>
    
    <!-- ====================================================================================== -->
	
	<!--
		 2. settings包含很多重要的设置项
		 	setting用来设置每一个设置项
		 		name:设置项名
		 		value:设置项取值
	-->
	<settings>
		<setting name="mapUnderscoreToCamelCase" value="true"></setting>
	</settings>
	
    <!-- ====================================================================================== -->
	
	<!--
		3. typeAliases:别名处理器,可以为我们的java类型起别名 
		   别名不区分大小写
	-->
	<typeAliases>
		<!--
			方法1.
				type:指定要起的别名的类型全类名,默认别名就是类名小写,employee
				alias:指定新的别名
		-->
		<typeAlias type="com.bgy.bean.Employee" alias="employee"/>
		
		<!--
			方法2.
				package:为某个包下的所有类批量起别名
				name:指定包名(为当前包以及下面所有的后代包的每一个类都起一个默认别名【类名小写】)
		-->
		<package name="com.bgy.bean"/>
		
		<!-- 
			方法3.
				批量起别名的情况下,如果类名重复,使用@Alias注解为某个类型执指定新的别名 
		-->
	</typeAliases>
    
    <!-- ====================================================================================== -->
	
	<!-- 
		environments:环境,mybatis可以配置多种环境;default指定使用某种环境
			environment:配置一个具体的环境信息;必须要一下两个标签;id代表当前环境的唯一标识
				transactionManager:事务管理器
					type:事务管理器的类型
						JDBC | MANAGED
						自定义事务管理器:实现TransactionFactory接口.type指定为全类名
				dataSource:数据源
					type:数据源类型
						UNPOOLED | POOLED | JNDI
						自定义数据源:实现DataSourceFactory接口,type是群类名
					
	-->
	<environments default="development">
	
		<environment id="test">
			<transactionManager type=""></transactionManager>
			<dataSource type=""></dataSource>
		</environment>
		
		<environment id="development">
			<transactionManager type="JDBC" />
			<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>
    
     <!-- ====================================================================================== -->
    <!--
		databaseIdProvider:支持多数据库厂商
			type="DB_VENDOR"
				作用就是得到数据库厂商的标识,mybatis就能根据数据库厂商标识来执行不同的sql
				MySQL | Oracle | SQL Server ....
	-->
	<databaseIdProvider type="DB_VENDOR">
		<!-- 为不同的数据厂商起别名 -->
		<property name="MySQL" value="mysql"/>
		<property name="Oracle" value="oracle"/>
		<property name="SQL Server" value="sqlserver"/>
	</databaseIdProvider>

	<!-- 将我们写好的sql映射文件(EmployeeMapper.xml)注册到全局配置文件(mybatis-config.xml)中 -->
	<mappers>
		<mapper resource="EmployeeMapper.xml" />
	</mappers>
</configuration>

EmployeeMapper.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">
<!-- 
	namespace:名称空间;指定为接口的全类名
-->
<mapper namespace="com.bgy.dao.EmployeeMapper">

	<!--
		databaseId="mysql" 就是指定数据库,mybatis-config.xml中写的数据库别名
	-->
  <select id="getEmpById" resultType="emp" databaseId="mysql">
    select 
    	id,last_name,gender,email
    from
    	tbl_employee 
    where 
    	id = #{id}
  </select>
  <select id="getEmpById" resultType="emp" databaseId="oracle">
    select 
    	id,last_name,gender,email
    from
    	tbl_employee 
    where 
    	id = #{id}
  </select>
</mapper>


mappers_sql映射路径

mybatis中xml中mappers配置:
	https://mybatis.org/mybatis-3/zh/configuration.html#mappers

mybatis-config.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>

	<!-- 
		1. mybatis可以使用properties引入外部properties配置文件內容
			resource=""		引入类路径下的资源
			url=""			引入网络路径或者磁盘路径下的资源
	-->
	<properties resource="dbconfig.properties"></properties>
    
    <!-- ====================================================================================== -->
	
	<!--
		 2. settings包含很多重要的设置项
		 	setting用来设置每一个设置项
		 		name:设置项名
		 		value:设置项取值
	-->
	<settings>
		<setting name="mapUnderscoreToCamelCase" value="true"></setting>
	</settings>
	
    <!-- ====================================================================================== -->
	
	<!--
		3. typeAliases:别名处理器,可以为我们的java类型起别名 
		   别名不区分大小写
	-->
	<typeAliases>
		<!--
			方法1.
				type:指定要起的别名的类型全类名,默认别名就是类名小写,employee
				alias:指定新的别名
		-->
		<typeAlias type="com.bgy.bean.Employee" alias="employee"/>
		
		<!--
			方法2.
				package:为某个包下的所有类批量起别名
				name:指定包名(为当前包以及下面所有的后代包的每一个类都起一个默认别名【类名小写】)
		-->
		<package name="com.bgy.bean"/>
		
		<!-- 
			方法3.
				批量起别名的情况下,如果类名重复,使用@Alias注解为某个类型执指定新的别名 
		-->
	</typeAliases>
    
    <!-- ====================================================================================== -->
	
	<!-- 
		environments:环境,mybatis可以配置多种环境;default指定使用某种环境
			environment:配置一个具体的环境信息;必须要一下两个标签;id代表当前环境的唯一标识
				transactionManager:事务管理器
					type:事务管理器的类型
						JDBC | MANAGED
						自定义事务管理器:实现TransactionFactory接口.type指定为全类名
				dataSource:数据源
					type:数据源类型
						UNPOOLED | POOLED | JNDI
						自定义数据源:实现DataSourceFactory接口,type是群类名
					
	-->
	<environments default="development">
	
		<environment id="test">
			<transactionManager type=""></transactionManager>
			<dataSource type=""></dataSource>
		</environment>
		
		<environment id="development">
			<transactionManager type="JDBC" />
			<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>
    
     <!-- ====================================================================================== -->
    <!--
		databaseIdProvider:支持多数据库厂商
			type="DB_VENDOR"
				作用就是得到数据库厂商的标识,mybatis就能根据数据库厂商标识来执行不同的sql
				MySQL | Oracle | SQL Server ....
	-->
	<databaseIdProvider type="DB_VENDOR">
		<!-- 为不同的数据厂商起别名 -->
		<property name="MySQL" value="mysql"/>
		<property name="Oracle" value="oracle"/>
		<property name="SQL Server" value="sqlserver"/>
	</databaseIdProvider>
    
    <!-- ====================================================================================== -->

	<!-- 
		将我们写好的sql映射文件(EmployeeMapper.xml)注册到全局配置文件(mybatis-config.xml)中	
	-->
	<mappers>
		<!--
			mapper:注册一个sql映射
				注册配置文件:
					resource:引用类路径下的sql映射文件
					url:引用网络路径或者磁盘路径下的sql映射文件
						file:///var/mappers/AuthorMapper.xml
				注册接口:
					class:引用(注册)接口
						方法1)有sql映射文件,映射文件名必须和接口名相同,并且放在与接口同一目录下
						方法2)没有sql映射文件,所有的sql都是利用注解写在接口上的
		-->
		<!-- <mapper url="file:///var/mappers/AuthorMapper.xml"/> -->
		
		<mapper resource="EmployeeMapper.xml" />
		
		<!-- 方法1)有sql映射文件,映射文件名必须和接口名相同,并且放在与接口同一目录下 -->
		<!-- <mapper class="com.bgy.dao.EmployeeMapper"/> -->
		
		<!-- 方法2)没有sql映射文件,所有的sql都是利用注解写在接口上的 -->
		<mapper class="com.bgy.dao.EmployeeMapperAnnotation"/>
		
		<!-- 
			批量注册 
			映射文件名必须和接口名相同,并且放在与接口同一目录下
			把EmployeeMapper.xml文件和EmployeeMapper.java文件,都放在com.bgy.dao包下
		-->
		<!-- <package name="com.bgy.dao"/> -->
	</mappers>
</configuration>

EmployeeMapperAnnotation.java

package com.bgy.dao;

import org.apache.ibatis.annotations.Select;
import com.bgy.bean.Employee;

// 方法2)没有sql映射文件,所有的sql都是利用注解写在接口上的
public interface EmployeeMapperAnnotation {
	
	@Select("select * from tbl_employee where id=#{id}")
	public Employee getEmpById(Integer id);
}

MyBatisTest.java

package com.bgy.bean.test;

import java.io.IOException;
import java.io.InputStream;

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.jupiter.api.Test;

import com.bgy.bean.Employee;
import com.bgy.dao.EmployeeMapper;
import com.bgy.dao.EmployeeMapperAnnotation;

class MyBatisTest {
	
	// 给sqlSessionFactory封装成一个方法+
	public SqlSessionFactory getSqlSessionFactory() throws IOException {
		String resource = "mybatis-config.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		return new SqlSessionFactoryBuilder().build(inputStream);
	}
	
	
	/**
	 *  接口式编程
	 * 推荐使用
	 * @throws IOException
	 */
	@Test
	public void test01() throws IOException {
		// 1.  获取sqlSessionFactory对象
		SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
		
		// 2.  获取sqlSession对象
		SqlSession openSession = sqlSessionFactory.openSession();
		
		try {
			// 3. 获取接口实现类对象
			// 会为接口自动创建一个代理对象,代理对象去执行增删改查等方法
			EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
			Employee employee = mapper.getEmpById(1);
			
			System.out.println("接口式编程");
			System.out.println(mapper.getClass());
			System.out.println(employee);
		} finally {
			openSession.close();
		}
	}
	
	// 方法2)没有sql映射文件,所有的sql都是利用注解写在接口上的
	@Test
	public void test02() throws IOException {
		SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
		SqlSession openSession = sqlSessionFactory.openSession();
		try {
			EmployeeMapperAnnotation mapper = openSession.getMapper(EmployeeMapperAnnotation.class);
			Employee employee = mapper.getEmpById(1);
			
			System.out.println(employee);
		} finally {
			openSession.close();
		}
	}
}
【Web服务器运维】基于Nginx与Keepalived的高可用负载均衡系统部署:实现故障自动切换与虚拟IP管理 内容概要:本文详细介绍了如何通过Nginx与Keepalived实现高可用的负载均衡架构。首先讲解了Nginx的安装部署流程,包括依赖环境的准备、源码解压编译、启动及配置重载;接着介绍了Keepalived的安装步骤及其服务管理方式;重点在于通过配置Keepalived的主备节点(MASTER/BACKUP),结合VRRP协议和虚拟IP(VIP)实现故障自动切换,并通过自定义脚本nginx_check.sh实时检测Nginx运行状态,确保服务高可用;最后补充了在云环境中因组播限制导致心跳不稳定时,应改用单播(unicast)方式进行通信的解决方案。; 适合人群:具备Linux系统操作基础、熟悉网络基础知识,从事运维、DevOps或Web服务部署的技术人员,尤其是工作1-3年的工程师。; 使用场景及目标:①搭建高可用的Web负载均衡系统,避免单点故障;②掌握Nginx与Keepalived协同工作的原理与实战配置方法;③应用于生产环境中提升服务稳定性与容灾能力。; 阅读建议:学习时应结合实验环境动手操作,重点关注keepalived.conf配置差异与nginx_check.sh脚本逻辑,理解VRRP机制及单播替代组播的实际应用场景,注意根据实际网络环境调整IP与网卡参数。 立即下载

相关推荐

三电平Buck直流变换器双闭环、单闭环、开环仿真【附参考文献】(Simulink仿真实现)

内容概要:本文档系统介绍了三电平Buck直流变换器在Simulink环境下的开环、单闭环与双闭环控制系统的建模仿真方法,涵盖系统建模、控制策略设计及动态性能对比分析。通过构建不同控制结构,深入探讨电压调节精度、系统响应速度、抗干扰能力及稳定性差异,重点剖析双闭环控制中电压外环与电流内环的协同作用机制,揭示其在抑制输出纹波、提升负载适应性方面的优势,帮助读者掌握多电平DC-DC变换器的核心控制原理与工程实现技术;文档还提供了详实的仿真参数设置与参考文献,便于理论验证与实践复现。; 适合人群:电力电子、自动化、电气工程及其相关专业的高校本科生、研究生、科研人员,以及从事电源系统、新能源变换器开发的工程技术人员。; 使用场景及目标:①作为高校电力电子课程的教学案例,辅助学生理解Buck变换器多层次控制策略的设计思路与性能差异;②为科研项目中高效直流变换系统的仿真研究提供可复用的技术模板;③指导工业界在高精度电源设计中优化控制器参数,提升系统动态响应与稳定性。; 阅读建议:建议结合Simulink仿真模型同步操作,对照文档逐步搭建各控制结构,重点观察不同闭环配置下输出电压的瞬态与稳态表现,深入理解PI参数整定、环路耦合影响及系统频域特性的关联性,从而全面提升对电力电子系统控制设计的综合把握能力。

mybatis-210717-01---全局配置文件---引入dte约束

mybatis-210717-01—全局配置文件—引入dte约束 引入dtd约束 引入dtd约束 获取dtd文件 联网的情况下,也可以按住 Ctrl + 鼠标点击 进行下载 或者是到你的jar包先解压获取 第一步 第二步 第三步

白光一的博客 105

国央企创新负责人如何实现科技成果的全流程数字化管理?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

mybatis-210721-02---动态sql-trim自定义字符串截取

mybatis-210721-02—动态sql-trim自定义字符串截取 EmployeeMapper.java EmployeeMapper.xml(笔记在这儿哦) MybatisTest.java EmployeeMapper.java package com.bgy.mybatis.dao; import java.util.List; import com.bgy.mybatis.bean.Employee; public interface EmployeeMapper { publ

白光一的博客 1612

燧原科技云燧ESL64-O超节点:国产AI芯片与OEX光互联架构解析

分布式AI训练通过将计算任务拆分到多个节点并行执行来加速模型训练,其核心原理涉及数据并行和模型并行等策略。在技术价值层面,分布式训练能显著提升大规模深度学习任务的效率,但传统GPU集群常因网络通信瓶颈导致性能受限。OEX光互联架构作为解决通信瓶颈的关键创新,采用硅光技术实现高带宽、低延迟的节点内互联,优化了AI训练中的集合操作。这种硬件级优化特别适用于千亿参数大模型训练和科学计算等场景,能有效降低AI集群的总体拥有成本(TCO)。云燧ESL64-O超节点正是基于国产自研AI芯片与OEX架构的集成方案,为大规

weixin_29071809的博客 371

【通俗易懂】Windows系统安装TensorRT

NVIDIA TensorRT是一个由NVIDIA公司开发的用于深度学习推理的高性能SDK。它专门设计用于在NVIDIA GPU上进行高效的神经网络推理,能够大幅度提升深度学习模型的推理速度和效率。TensorRT的主要特点包括:模型优化:TensorRT通过层融合、精度校准、动态形状等技术优化模型,减少推理时的计算量和内存占用。多精度推理:支持多种精度推理,包括FP32、FP16、INT8等,以平衡性能和精度。

王尼莫的博客 1587

mybatis-210721-01---动态sql-if判断&where查询条件

mybatis-210721-01—动态sql-if判断&where查询条件.md if_判断 EmployeeMapper.java EmployeeMapper.xml(笔记在这儿) MybatisTest.javawhere where查询条件 EmployeeMapper.xml(笔记在这儿)(where)(1=1) EmployeeMapper.xml(笔记在这儿)(where标签) if_判断 EmployeeMapper.java package com.bgy.my

白光一的博客 510

三维旋转详细解读(Rodrigues‘ Roatation Formula 罗德里格旋转公式)

三维旋转引言三维旋转1)欧拉角2)轴角式旋转分解1)V||的旋转2)V⊥的旋转3)V的整体旋转 引言 前面我们了解了 复数在二维旋转中的作用与联系 而四元数与三维旋转之间的关系与复数对二维旋转有很多类似的地方,下面我们就先来详细了解一下三维旋转的过程。 三维旋转 首先讨论一下三维旋转,我们了解到常用的三维旋转有两种方式: 1)欧拉角 即按照一定的顺序,分别对X, Y, Z三个轴进行旋转 θ 角。绕各旋转轴的旋转矩阵为: 然后任意的三维旋转可以分解成上述三种旋转方式的组合。(注意:三个旋转的顺序是非常重要的

晓晨的博客 1万+

mybatis-210721-05---动态sql-foreach遍历集合

mybatis-210721-05—动态sql-foreach遍历集合 EmployeeMapper.java EmployeeMapper.xml(笔记在这儿哦) MybatisTest.java 查询 id在集合中 的员工 EmployeeMapper.java package com.bgy.mybatis.dao; import java.util.List; import org.apache.ibatis.annotations.Param; import com.bgy.myb

白光一的博客 361

顶刊级科研绘图技巧

顶刊级科研绘图技巧

2401_89571885的博客 1157

极简JEPA世界模型实战:低门槛复现LeWorldModel,CPU可跑

这次我们来看一个能让普通开发者真正上手跑起来的“世界模型”项目。如果你对Yann LeCun提出的JEPA(联合嵌入预测架构)框架感兴趣,但又苦于Meta官方实现过于庞大复杂,那么这个GitHub上4k star的项目就是为你准备的。它用极简的PyTorch代码(核心文件仅160-278行)完整复刻了包括LeWorldModel在内的五个JEPA核心变体,最大的亮点是: 门槛极低,普通笔记本甚至CPU就能跑,显存占用友好,非常适合学习和原理验证。 这个项目名为 keon/jepa ,完全开源。它剥离了工业级

weixin_29031161的博客 421

mybatis-210721-04---动态sql-set与if结合的动态更新

mybatis-210721-04—动态sql-set与if结合的动态更新 EmployeeMapper.java EmployeeMapper.xml(笔记在这儿哦) MybatisTest.java <!-- 更新员工 要求: 携带了那个字段,更新哪个字段 --> EmployeeMapper.java package com.bgy.mybatis.dao; import com.bgy.mybatis.bean.Employee; public interfa

白光一的博客 308

8、音频运行时系统的架构设计

本文深入探讨了音频运行时系统的分层设计及其优势,包括逻辑层和物理层的功能划分。通过分层设计,开发者可以更轻松地管理和优化音频资源,确保其在不同平台上的高效运行。文章还介绍了平台适配与优化、错误处理与调试以及未来发展方向等内容,为开发者提供了宝贵的参考和指导。

juice的博客 461

mybatis-210721-08---动态sql-sql标签抽取可重用的sql

mybatis-210721-08—动态sql-sql标签抽取可重用的sql EmployeeMapper.java EmployeeMapper.xml(笔记在这儿哦) MybatisTest.java EmployeeMapper.java package com.bgy.mybatis.dao; import com.bgy.mybatis.bean.Employee; public interface EmployeeMapper { public void insertEmps(Em

白光一的博客 249

Python爬虫实战:构建药监局药品批准信息本地查询系统

在医药信息化时代,药品批准信息的快速查询对于医药从业者、研究人员和普通消费者都具有重要意义。国家药品监督管理局(NMPA)提供了官方的药品查询系统,但有时我们需要建立本地数据库以便批量分析或离线查询。本文将详细介绍如何使用Python爬虫技术,结合最新的异步爬虫框架和技术栈,构建一个完整的药监局药品信息本地查询系统。本系统将实现以下功能:自动化爬取药监局官网的药品批准信息数据清洗和结构化存储建立本地查询接口数据定期更新机制pythonimport os"""药品类型枚举"""

2201_76125261的博客 728

SMART200如何实现多次调用子程序带定时器功能

1、西门子200PLC的子程序由于很多限制条件,如果希望建立一个可以多次调用的子程序,那么这个子程序里是不能含有定时器指令的,所以我们只能退而求其次了。建议将沿指令(上升沿、下降沿)放在多次调用子程序的外面。 2、可以提供不同的时基,提供不同时间的定时 3、实现秒定时 5、子程序内部: STL代码: 1、时基信号由外部提供、 可以提供不同的时基信号 2、实现循环定时开关 LD #Start:L0....

RXXW_Dor的博客 1万+

mybatis-210721-07---动态sql-内置参数_parameter_databaseId&bind使用

mybatis-210721-07—动态sql-内置参数_parameter_databaseId&bind EmployeeMapper.java EmployeeMapper.xml(笔记在这儿哦) MybatisTest.java EmployeeMapper.java package com.bgy.mybatis.dao; import java.util.List; import com.bgy.mybatis.bean.Employee; public interface E

白光一的博客 236

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

mybatis-210720-03---映射文件_select_resultMap_分步查询传递多列值&fetchType

mybatis-210720-03—映射文件_select_resultMap_分步查询传递多列值&fetchType.md DepartmentMapper.java DepartmentMapper.xml(笔记在这儿) EmployeeMapper.java EmployeeMapper.xml MybatisTest.java <!-- 场景2 查询部门的时候,把对应所有的员工信息查询出来 --> DepartmentMapper.java package co

白光一的博客 220

ssm框架搭建

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

WINCC7.3破解文件

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

mybatis-210720-01---映射文件_select_resultMap_collection定义关联集合封装

mybatis-210720-01—映射文件_select_resultMap_collection定义关联集合封装.md DepartmentMapper.java DepartmentMapper.xml(笔记在这儿) EmployeeMapper.java EmployeeMapper.xml MybatisTest.java Department.java Employee.java <!-- 场景2 查询部门的时候,把对应所有的员工信息查询出来 --> Departm

白光一的博客 206

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

mybatis-210721-03---动态sql-choose分支选择

mybatis-210721-03—动态sql-choose分支选择 EmployeeMapper.java EmployeeMapper.xml(笔记在这儿哦) MybatisTest.java <!-- 查询员工 要求: 携带了那个字段,查询条件就带上这个字段的值 --> EmployeeMapper.java package com.bgy.mybatis.dao; import java.util.List; import com.bgy.mybatis.bea

白光一的博客 206

mybatis-210722-02---缓存-第三方缓存&ehcache

mybatis-210722-02—缓存-使用第三方缓存&ehcache 我的目录结构 EmployeeMapper.java EmployeeMapper.xml(在这里使用了ehcache) DepartmentMapper.xml(这里引用了EmployeeMapper的缓存) MybatisTest.java ehcache.xml(这里也有笔记哦) log4j.xml mybatis-config.xml 我的目录结构 EmployeeMapper.java package co

白光一的博客 199

mybatis-210719-01---映射文件_select_返回List&记录封装map

mybatis-210719-01—映射文件_select_返回List&记录封装map 返回List EmployeeMapper.java EmployeeMapper.xml MybatisTest.java 记录封装map EmployeeMapper.java EmployeeMapper.xml MybatisTest.java 返回List EmployeeMapper.java package com.bgy.mybatis.dao; import java.uti

白光一的博客 196

mybatis-210718-02---映射文件_参数处理_单个参数_多个参数

mybatis-210718-02—映射文件_参数处理_单个参数_多个参数 单个参数 多个参数 测试代码 EmployeeMapper.java(不使用注解前) EmployeeMapper.java(使用注解后) EmployeeMapper.xml(不使用注解前) EmployeeMapper.xml(使用注解后) MybatisTest.java 单个参数 单个参数时: mybatis不会做特殊处理 #{参数名}:取出参数值 多个参数 多个参数时: mybatis会做特殊处理

白光一的博客 196

mybatis-210721-06---动态sql-foreach批量插入

mybatis-210721-06—动态sql-foreach批量插入 EmployeeMapper.java EmployeeMapper.xml(笔记在这儿哦) MybatisTest.java dbconfig.properties 插入多条员工数据 这个MySQL的的批量插入 如果在Oracle中批量插入,以下方法就不管用了,请参考尚硅谷mybatis视频 https://www.bilibili.com/video/BV1mW411M737?p=46 https://w

白光一的博客 191

mybatis-210719-03---映射文件_select_resultMap_关联查询&分步查询

mybatis-210719-03—映射文件_select_resultMap_关联查询&分步查询 DepartmentMapper.java DepartmentMapper.xml EmployeeMapper.java EmployeeMapper.xml(笔记都在这) MybatisTest.java mybatis-config.xml Department.java DepartmentMapper.java package com.bgy.mybatis.dao; import

白光一的博客 173
上一篇: mybatis-210717-01---全局配置文件---引入dte约束
下一篇: mysql-210715-01---索引
白光一
博客等级 码龄9年 0粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值