mybatis(78/134)

server/2025/2/3 23:24:39/

前天学了很多,关于java的反射机制,其实跳过了new对象,然后底层生成了字节码,创建了对应的编码。手搓了一遍源码,还是比较复杂的。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><properties resource="jdbc.properties"></properties><!--起别名,这里是对于com.mybatis.pojo中就是dao类中的起别名,对于下面这个格式的默认值是包名,不区分大小写--><typeAliases><package name="com.mybatis.pojo"/></typeAliases><environments default="development"><!--default指定默认使用的环境--><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><mappers><!--这个是对映射文件匹配对应的接口,一般接口是在mapper中两者xml文件的取名要与mapper    相同,而且需要将xml放在resours文件下,创建相同的目录.在resources目录下创建格式是:com/mybatis/mapper        --><package name="com.mybatis.mapper"/></mappers></configuration>

对于多表联立,假设2表需要1表的主键(外键),但是原本是自增字段,那么就需要在标签中设

 useGeneratedKeys="true" keyProperty="id",来返回对应需要的主键如:id

 <insert id="insertCarUserGeneratedKeys" useGeneratedKeys="true" keyProperty="id">insert into t_car values (null,#{carNum},#{brand},#{guidePrice},#{produceTime},#{carType})</insert>

对于#{}与${}的区别

  <delete id="deleteBatch">deletefrom t_carwhere id in (${ids})<!--#{}与${}的区别,对于前者会原来出现的地方先使用?进行占位然后将对应的数据类型的值加入到原本的位置中去,如果是字符串就会带'',而后者就是简单的先拼接后编译,会有sql注入风险,使用的statement,它会将原先的值完整的输入到该位置,一般是使用关键字或者需要将东西原封不动的输入才使用后者--><!--'?'单引号中的占位符号不会被识别,所以像是模糊查询这种的有四种解决方法--></delete>


http://www.ppmy.cn/server/164736.html

相关文章

第十三章 I 开头的术语

文章目录 第十三章 I 开头的术语安装目录 (install-dir)实例 (instance)实例认证 (Instance Authentication)实例方法 (instance method)实例化 (instantiate)中间源代码 (intermediate source code)InterSystems IRIS 启动器 (InterSystems IRIS launcher)InterSystems IRIS 数…

C基础寒假练习(4)

输入带空格的字符串&#xff0c;求单词个数、 #include <stdio.h> // 计算字符串长度的函数 size_t my_strlen(const char *str) {size_t len 0;while (str[len] ! \0) {len;}return len; }int main() {char str[100];printf("请输入一个字符串: ");fgets(…

女生年薪12万,算不算属于高收入人群

在繁华喧嚣的都市中&#xff0c;我们时常会听到关于收入、高薪与生活质量等话题的讨论。尤其是对于年轻女性而言&#xff0c;薪资水平不仅关乎个人价值的体现&#xff0c;更直接影响到生活质量与未来的规划。那么&#xff0c;女生年薪12万&#xff0c;是否可以被划入高收入人群…

《AI大模型开发笔记》DeepSeek技术创新点

一、DeepSeek横空出世 DeepSeek V3 以颠覆性技术架构创新强势破局&#xff01;革命性的上下文处理机制实现长文本推理成本断崖式下降&#xff0c;综合算力需求锐减90%&#xff0c;开启高效 AI 新纪元&#xff01; 最新开源的 DeepSeek V3模型不仅以顶尖基准测试成绩比肩业界 …

Redis|前言

文章目录 什么是 Redis&#xff1f;Redis 主流功能与应用 什么是 Redis&#xff1f; Redis&#xff0c;Remote Dictionary Server&#xff08;远程字典服务器&#xff09;。Redis 是完全开源的&#xff0c;使用 ANSIC 语言编写&#xff0c;遵守 BSD 协议&#xff0c;是一个高性…

【Elasticsearch】index:false

在 Elasticsearch 中&#xff0c;index 参数用于控制是否对某个字段建立索引。当设置 index: false 时&#xff0c;意味着该字段不会被编入倒排索引中&#xff0c;因此不能直接用于搜索查询。然而&#xff0c;这并不意味着该字段完全不可访问或没有其他用途。以下是关于 index:…

HTML5 常用事件详解

在现代 Web 开发中&#xff0c;用户交互是提升用户体验的关键。HTML5 提供了丰富的事件机制&#xff0c;允许开发者监听用户的操作&#xff08;如点击、拖动、键盘输入等&#xff09;&#xff0c;并触发相应的逻辑处理。本文将详细介绍 HTML5 中的常用事件&#xff0c;包括鼠标…

Unity|小游戏复刻|见缝插针2(C#)

控制针的运动 新建一个Pin脚本 将Pin脚本拖到针Pin的下面 保存代码 using UnityEngine;public class Pin : MonoBehaviour {public float speed 5;private bool isFly false;private bool isReach false;private Transform startPosition;// Start is called once bef…