mybatis(78/134)

embedded/2025/2/2 6:02:29/

前天学了很多,关于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/embedded/158830.html

相关文章

python爬虫入门(一) - requests库与re库,一个简单的爬虫程序

目录 web请求与requests库 1. web请求 1.1 客户端渲染与服务端渲染 1.2 抓包 1.3 HTTP状态代码 2. requests库 2.1 requests模块的下载 2.2 发送请求头与请求参数 2.3 GET请求与POST请求 GET请求的例子&#xff1a; POST请求的例子&#xff1a; 3. 案例&#xff1a;…

使用 Python 和 scikit-learn 实现 KNN 分类:以鸢尾花数据集为例

在机器学习的世界里&#xff0c;K-Nearest Neighbors&#xff08;KNN&#xff09;算法是一种简单而强大的分类方法。它基于一个直观的想法&#xff1a;相似的数据点往往属于同一类别。本文将通过 Python 的 scikit-learn 库实现 KNN 分类&#xff0c;以经典的鸢尾花数据集为例&…

ES的机架感知-Rack Awareness

在Elasticsearch中&#xff0c;机架感知&#xff08;Rack Awareness&#xff09; 是一种高级分片分配策略&#xff0c;旨在通过考虑物理基础设施的布局来提高数据的高可用性和负载均衡。具体来说&#xff0c;机架感知考虑了数据中心内服务器的物理位置&#xff0c;如机架、行或…

WSL2中安装的ubuntu开启与关闭探讨

1. PC开机后&#xff0c;查询wsl状态 在cmd或者powersell中输入 wsl -l -vNAME STATE VERSION * Ubuntu Stopped 22. 从windows访问WSL2 wsl -l -vNAME STATE VERSION * Ubuntu Stopped 23. 在ubuntu中打开一个工作区后…

大数据治理实战指南:数据质量、合规与治理架构

&#x1f4dd;个人主页&#x1f339;&#xff1a;一ge科研小菜鸡-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 引言 随着企业数字化转型的加速&#xff0c;大数据已成为驱动业务决策的核心资产。然而&#xff0c;数据治理的缺失或不完善&…

QT:图像上绘制图形

需求描述 1、展示一张图像 2、在图像上可以使用数据绘制图像&#xff1a;矩形、不规则图形、线条 3、有按键可以选择 概要设计 规划布局如下 1、左边是Qlabel 用于展示图片 2、右边是三个按钮 具体实现 1、 首先设计 UI 界面&#xff0c;对控件进行布局 在 mainwindow.u…

Github 2025-01-25Rust开源项目日报Top10

根据Github Trendings的统计,今日(2025-01-25统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10Python项目1Vue项目1JavaScript项目1Deno: 现代JavaScript和TypeScript运行时 创建周期:2118 天开发语言:Rust, JavaScript协议类型…

Redis脑裂问题详解及解决方案

Redis是一种高性能的内存数据库&#xff0c;广泛应用于缓存、消息队列等场景。然而&#xff0c;在分布式Redis集群中&#xff0c;脑裂问题&#xff08;Split-Brain&#xff09;是一个需要特别关注的复杂问题。本文将详细介绍Redis脑裂问题的成因、影响及解决方案。 一、什么是…