mybatis-jdbc-映射

Mybatis 返回值配置理解 - 返回值是浮点数 BigDecimal 或整数 Integer的配置 - 返回指定实体类格式的 List 数组 的值,否则就会报如上错误的,其实仔细看看因为报错原因的意思就好了。mybatis中的所有查询标签,都必须返回。 阅读详情

记住就行,ai下就知道原因了

datetime  时间类型 

utf8mb4, 数据库表的字符集 

=====================================

`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '

====================================

一:数据列映射
drop table mybatis_java_map;
/**
*  mybatis与java的映射关系
*  bigint                    ---对应的long(Long)
*  varchar                 ---对应的Sring
*  int                         ---对应int(Integer)
*  DATETIME             ---对应java.util.Date
*  double                  ---对应double(Double)
*  blob                      ---这个需要一层转换
*  decimal                 ---对应BigDecimal
*  number                 ---对应BigDecimal
*/
CREATE TABLE `mybatis_java_map` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,   ---这个3同样也是与数据最终的存储长度没关系
  `int3` int(3) DEFAULT NULL,                ---这个3同样也是只是显示的宽度,但是长度不足用0填充,用mysq的命令可以查看
  `int4` int(4) zerofill,                    ---这个4与数据库存储的长度有关系
  `varchar4` varchar(4) DEFAULT NULL,        ---这个1,都不代表数据最后能存的长度,同理int,等都是一样的       
  `bigint1` bigint(1) DEFAULT NULL,          ---这个2,都不代表数据最后的存的长度         
  `bigint2` bigint(2) DEFAULT NULL,          ---这个tinyint(1) 与tinyint(4)其实相等当使用zerofill时候有效果,取值范围-128-127
  `status` tinyint(4) NOT NULL COMMENT '发布状态 0 正在发布 1 发布成功 2 发布失败', 

  /*
  MySQL允许使用非标准语法:FLOAT(M,D)或REAL(M,D)或DOUBLE PRECISION(M,D)。
  -- 这里,“(M,D)”表示该值一共显示长度的位数,其中D位,位于小数点后面(注意之后整数的位数为M-D)
  -- 例如,定义为FLOAT(7,4)的一个列可以显示为-999.9999。MySQL保存值时进行四舍五入,
  -- 因此如果在FLOAT(7,4)列内插入999.00009,近似结果是999.0001
  -- 例如: 你插入1234567.123 直接报错,因为一共长度是限制的,整数部分最长是3位
  -- 例如: 你插入1.12312123123123 是可以的默认给你四舍五入
  */
  `double1` double(7,4) NOT NULL COMMENT 'double的测试',        -- 同理4代表存放的总长度,3代表精度
  `decimal1` decimal(4,3) DEFAULT NULL COMMENT '优惠后的总金额', -- 这个数据类型直接就跟Util.Date映射上就行了
  `create_time` DATETIME NOT NULL COMMENT '创建时间',           -- 对于mysql当数据库修改了此列的时候使用这个值
  `_timestamp` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT 'dba要求',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='服务池表'
 

select * from mybatis_java_map where  `int4` = 1

1.映射关系:

#切记int(10),int(11) 里面的数字10,与11 不代表存储的长度,代表的是显示宽度。参考—mysql-数据类型

2.非空默认值

非空默认值:`amount` double(10,2) NOT NULL DEFAULT '0.00' COMMENT '度量值'

使用mybatis插入语句(column1,column2),如果column没在列里面,这时候会设置默认值,注意:如果这个值是null这时候插入会报错

默认值:     `status` int(3) DEFAULT '1' COMMENT '状态'

使用mybatis插入的时候,这个对象如果是个integer类型这时候是null,数据库是可以插入进去的就是个空值,注意:没有这列的时候给你添加默认值

null在mysql中是个特殊的值。。。

============================================================================

3.unsigned  这样的标记会限制数的取值范围,

CREATE TABLE `o1` (`id` int(11) unsigned)

insert into o1(id) values(-1);

报错:Data truncation: Out of range value for column 'id' at row 1 性能也会好点

Mybatis批量插入或更新 decimal类型数据精度丢失或四舍五入的问题 今天对接招商银行对账单的时候,发现清算金额和交易金额不一致,于是乎。。。 1、检查接口返回的数据是否准确,发现没问题,订单金额:2875.74 清算金额:2875.74 退款金额:0 2、是不是这两个字段类型不一致,检查实体类和数据库表,都没问题,实体类:BigDecimal、数据表:decimal(15,2) 3、检查Mybatis执行语句这里只演示有问题的字段 orderAmt、clrAmt、backAmt -----这里只演示有问题的字段orderAmt,clrAmt,backAmt... 阅读详情

相关推荐

mybatis:BigDecimal判定0值时问题

问题 在Mybatis中,遇到入参类型为BigDecimal时,不为0的情况下用!=''方法可以正常判断, 但值为0时使用 !=''判定会出现问题。 BigDecimal fine_cash=new BigDecimal("0");//违约金 Stringbill_id="1001"; tmap.put("bill_id",bill_id); tmap.put("fine_cash",fine_cash); monthBillDAO.updateByBillID(tmap);//执行myb.

奋斗鱼 2968

springBoot使用Mybatis处理Decimal类型保留两位小数不丢失精度

1.配置Mybatis处理Decimal类型类 @MappedJdbcTypes(JdbcType.DECIMAL) public class MyBigDecimalTypeHandler extends BigDecimalTypeHandler { @Override public BigDecimal getNullableResult(ResultSet rs, String columnName) throws SQLException { BigDecimal

菜鸟天涯_的博客 1万+

mybatis的JDBC类型对应的java类型映射表

MyBatis 通过内置的 jdbcType 枚举类型支持下面的 JDBC 类型: JDBC类型 Java类型 BIT boolean或Boolean TINYINT byte SMALLINT short或Short INTEGER int或integer REAL float FLOAT double或Double DOUBLE double BIGINT long NUMERIC java.math.BigDecimal DECIMAL java.m

GIS技术方向,GIS地图技术分享(GIS入门、Openlayers教程、Leaflet教程),做最好的GIS地图开发教程。关注博主公众号:eguid 428

解决 Mybatis 查询 decimal 类型数据小数点后有 0 丢失问题

终于等到你0、问题1、分析2、解决方法 0、问题 利用 SSM 框架查询数据库数据时,当数据库数据类型为 decimal(18,2),此时若数据库数据为 12.34,后台获取结果也为 12.34,这时看上去数据获取没有任何问题,但是当数据库数据为 22.00,后台获取结果则变为 22,小数点后两位.00 丢失,即精度缺失. 1、分析 这是由于 Mybatis 在进行数据映射的时候,若数据库中字段的类型是 decimal、float、double,java 类对应字段的类型为 BigDecimal、Float

charmsongo的博客 1万+

mybatis全课程,框架原理,输入输出映射,动态SQL,mybatis一对一,一对多关联映射,mybatis逆向工程,JDBC操作

Mybatis简介 Mybatis框架原理 Mybatis初体验 Mybatis开发dao两种方法 Mybatis核心配置文件详解 Mybatis输入映射 Mybatis输出映射 Mybatis动态sql Mybatis一对一、 一对多关联映射 Mybatis逆向工程

2301_76160412的博客 1082

多普勒效应及多普勒频移的简单推导

多普勒频移的简单推导

m0_47867419的博客 3万+

MyBatis入门:从JDBC到自动映射

本文介绍了MyBatis如何解决JDBC开发中冗长繁琐的问题,通过SQL映射实现Java对象与数据库的自动转换。从环境搭建、全局配置、Mapper接口与XML映射文件的编写,到CRUD操作及#{}与${}的区别,系统演示了MyBatis的快速入门流程。强调其核心优势:减少样板代码、提升开发效率,并提醒事务需手动提交、优先使用#{}防注入。为后续深入学习动态SQL和ResultMap奠定基础。

2501_93705143的博客 332

用4690张图片搞定物流仓储难题:手把手教你训练YOLOv8纸箱检测模型(附完整源码)

本文详细介绍了如何利用YOLOv8目标检测技术解决物流仓储中的纸箱识别难题。通过4690张图片构建高质量数据集,提供完整的训练教程和源码,实现98.7%的mAP@0.5准确率。文章涵盖数据采集、模型训练、调参技巧到边缘计算部署的全流程,帮助读者快速构建智能仓储检测系统。

weixin_28717939的博客 377

在 MyBatis 中oracle基本数值类型的 JDBC 类型映射

在 MyBatis 中oracle基本数值类型的 JDBC 类型映射

weixin_46528266的博客 448

Halcon 20.11在WPF中的交互式绘图:完整实现矩形ROI的创建、拖动与坐标获取

本文详细介绍了如何在WPF框架下利用Halcon 20.11实现交互式矩形ROI的创建、拖动与坐标获取。通过HDrawingObject和HSmartWindowControlWPF控件,开发者可以高效构建机器视觉应用,提升项目实战中的开发效率。文章涵盖环境配置、事件处理、坐标获取及性能优化等关键内容。

weixin_29266007的博客 427

VSCode+Keil高效开发STM32:Keil Assistant插件配置全攻略

本文详细介绍了如何通过VSCode的Keil Assistant插件,将Keil MDK的编译调试能力与VSCode的现代编辑体验相结合,打造高效的STM32开发环境。文章涵盖了从环境配置、工程导入、智能提示设置到与STM32CubeMX协同工作的全流程攻略,旨在解决Keil编辑器效率低下的痛点,大幅提升嵌入式开发的编码与项目管理效率。

gold的博客 507

从JDBC连接池到Mybatis(Mybatis进阶篇二——Mapper映射文件)

五:Mybatis的映射文件进阶: 动态SQL标签: JDBC配置文件: driver=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/jtdb-small user=root password=123456 mybatis核心配置文件: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//m

qq_34114568的博客 269

uniapp [全端兼容] - 实现省市区选择器三四级联动组件,uniapp选择地址自定义省市区三级联动插件,弹框式多级联动选择器区域选择(全平台兼容苹果安卓App、支付宝微信小程序、移动端H5网页)

uni-app省市区选择器,省市区街道三级四级联动选择器,uniapp自定义多列选择器省市两级联动,uniapp picker组件实现多级联动,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,uniApp选择器省市区县街道乡镇,uniapp实现省市区选择联动,uniapp城市三级联动(自定义组件)_uniapp三级联动,picker插件省市区联动,uniapp小程序省市区选择器,uni-app 省市区街道的四级联动选择,uniapp怎样实现省市区地址三级联动uni

🏆 前端领域优质创作者 1万+

JDBC模拟mybatis对象映射赋值

Java 模拟mybatis映射实体类 使用mybatis也有一段时间了,它的强大也是众所周知的,但是有一定的局限性,比如要不同数据库要多数据库源配置,本人就试想用JDBC的话,能否实现mybatis一样的效果 答案是能的,利用Java的反射功能 ...

如漩涡的博客 972

基于深度学习的异常检测实战:从自编码器到GAN

本文通过一个完整的实战案例,展示了如何使用自编码器和GAN进行异常检测。我们详细介绍了数据准备、模型定义、训练和评估的步骤,并提供了可运行的代码。希望本文能为读者在实际项目中应用异常检测技术提供实用的指导和启发。

Programming Talk 242

ESP32-IDF开发之旅 网络篇⑩ Web配网

本文介绍了基于ESP32S3的Web配网实现方案。作者通过移植开源项目,在ESP32S3上实现了WiFi配置功能,包括AP模式创建、HTTP服务器搭建、NVS存储读写等核心功能。文章详细解析了代码结构,包含WiFi初始化、事件处理、NVS存储管理和HTML页面服务等关键模块。实现方案采用AP+STA双模式,支持通过网页扫描WiFi并保存配置信息,适用于物联网设备的网络配置场景。代码中使用了FreeRTOS任务、ESP-IDF事件组等技术,并提供了完整的错误处理和日志记录功能。

单片机菜鸟哥的博客 350

MyBatis持久层框架:从JDBC痛点解析到SQL映射实战

在Java企业级应用开发中,数据库访问是核心环节。JDBC作为标准接口,虽然提供了数据库操作的底层能力,但其繁琐的样板代码、SQL与Java代码的强耦合以及手动资源管理等问题,显著降低了开发效率并增加了维护成本。为了解决这些痛点,ORM(对象关系映射)框架应运而生,旨在实现数据库记录与Java对象之间的自动映射。MyBatis作为一款主流的持久层框架,其核心设计哲学是“半自动化”与“SQL可编程”,它并未完全屏蔽SQL,而是通过XML或注解将SQL语句与Java代码解耦,实现了SQL的集中管理与灵活控制。这

weixin_33701564的博客 299

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

MyBatis:让 Java 数据访问从“手写 JDBC”走向可控映射的工程化实践

Mapper 接口可以理解为数据库操作的 Java 声明层。这里的方法不需要自己写实现类。MyBatis 会在运行时通过动态代理创建实现对象。也就是说,程序中注入的UserMapper并不是手写类,而是 MyBatis 根据 XML 或注解动态生成的代理对象。数据库MyBatis执行器UserMapper代理对象Service层数据库MyBatis执行器UserMapper代理对象Service层fill:#333;important;important;fill:none;

u010030103的博客 334

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

1-原始jdbc、Mybatis简介、入门案例、映射文件概述、MyBatis相应API

原始JDBC、Mybatis简介、入门案例、映射文件概述、MyBatis相应API

daqi1983的博客 309

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

mybatis jdbc 字段映射类型

mybatis常用jdbcType数据类型 MyBatis 通过包含的jdbcType类型 BIT FLOAT CHAR TIMESTAMP OTHER UNDEFINED TINYINT REAL VARCHAR BINARY BLOB ...

yingmu3630的专栏 397

基于JDBC写一个和mybatis类似的映射框架—DBUtils

基于JDBC的DBUtils 必须要依赖jdbc的jar包,篇幅原因 maven: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.45</version> </dependency>

xiong305的博客 331

黑马JAVAWeb-05 JDBC入门-预编译SQL-Mybatis入门-Mybatis日志输出-数据库连接池-增删改查-XML映射配置

黑马JAVAWeb-05 JDBC入门-预编译SQL-Mybatis入门-Mybatis日志输出-数据库连接池-增删改查-XML映射配置

Tianwen55的博客 290

mybatis3.4.2 与 JDBC中操作对象映射的过程

mybatis是对 jdbc 的封装。如果想要知道mybatis到底做了哪些事情,必须了解jdbc如何对数据库进行操作的,以及这些操作mybatis是如何实现的。一、JDBC 操作数据库的过程下面代码直接使用 JDBC 进行数据库操作1、创建数据库连接public Connection getConnection() throws SQLException { Connection conn

王洪伟的专栏 6112

Mybatis快速入门(2)Dao封装-属性加载:抽取JDBC-别名的配置-映射器(mappers)

单个别名定义别名包扫描器(推荐使用此方式),整个包下的类都被定义别名,别名为类名,不区分大小写六、映射器(mappers)

2401_84152911的博客 1169

mybatis包含jdbc类型

MyBatis 通过包含的jdbcType类型 BIT FLOAT CHAR TIMESTAMP OTHER UNDEFINED TINYINT REAL VARCHAR BINARY BLOB NVARCHAR SMALLINT DOUBLE LONGVARCHAR VARBINARY CLOB NCHAR INTEGER NUMERIC DATE LONGVARBINARY ...

weixin_30828379的博客 157
上一篇: 抓包-鲨鱼
下一篇: 监控指标111
hljjava
博客等级 码龄18年 7粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值