-
操作数据库 mysql
-
mysql 的***==中文属性 不能为 1 个字==***,应该 至少 2 个字,不然会报 Mapper 相关的错误
Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: java.lang.StringIndexOutOfBoundsException: String index out of range: -1 -
***==不建议将字符串作为主键==***,因为***一旦主键过长,后端将会收到空指针***,所以推荐用 int 当主键
-
mysql 的 下划线 _ 、驼峰命名, 输出到 spring 都会被过滤掉(双引号 书名号这些不会。
-
若 mysql 的表直接名字含有_、驼峰,那么可以通过 @TableName("t_product") 注解避免找不到的情况
-
数据库里面的 外键 int,必须初始有值
如果初始化为 null,那么 springboot 取的时候 都会一直为 0,怎么 update 都不管用。 -
实体层必须要有 getter 函数,不然阿里巴巴 json 会返回 {}
-
实体层成员变量必须要是包裹类型
-
***==主键不能修改==***,只能删除后,重新插入一个新的
-
警告:多主键的时候,mybaties-plus 无法处理,此时
-
需要再来一个依赖(也就是老的 mybaties 也要在 pom 里引用)
-
在 entity 中 配置多主键 注解
-
然后再 mapper 里面继承 MppBaseMapper
-
在 service 里面继承
-
-
具体操作也不一样了,请看博客
-
-
-
先引入
-
再连接 数据库(注意 yaml 中必须 完全满足 缩进结构,和 python 一样的。如果有一点不满足缩进格式 就会报错)
spring: datasource: url: jdbc:mysql://localhost:3306/毕业设计助农系统?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8 username: root password: 1264917182 driver-class-name: com.mysql.cj.jdbc.Driver
-
再配置实体 entity 层、mapper 层、service 层(统称 DAO 层)
-
entity 层
-
别忘了 primary key 加上注解 @TableId,不然会报警告
-
注解了之后,该成员变量 就不会和数据库建立映射(不会扫描)
-
-
mapper 层
-
entity 层和 mapper 层可以放一起
下面红色的是 自动配置 常规 sql
-
-
service 层
-
使用 mybaties-plus 提供的 mapper 层函数
本质就是使用 mapper 层提供的函数(接口) -
mapper 里面返回值为 Vector 时
如果查询的东西一个都没有,size()==0
-
-
最后在 Controller 里面使用就好了
-
近期热议
推荐标签 标签
-
Follow
4 引用 • 12 回帖 • 3 关注
-
Jenkins
54 引用 • 37 回帖 • 1 关注
Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。
-
CloudFoundry
5 引用 • 18 回帖 • 189 关注
Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。
-
WordPress
45 引用 • 114 回帖 • 172 关注
WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。
-
Gitea
5 引用 • 16 回帖 • 1 关注
Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。
-
SQLite
4 引用 • 7 回帖 • 6 关注
SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。
-
Chrome
63 引用 • 289 回帖 • 1 关注
Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。
- B3log
-
黑曜石
24 引用 • 242 回帖 • 1 关注
黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。
A second brain, for you, forever.
-
新人
52 引用 • 228 回帖
让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
新手上路,请谨慎驾驶! -
Webswing
1 引用 • 15 回帖 • 643 关注
Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用 。
-
Telegram
5 引用 • 35 回帖 • 1 关注
Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。
-
RabbitMQ
49 引用 • 60 回帖 • 349 关注
RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
-
GraphQL
4 引用 • 3 回帖 • 11 关注
GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。
-
工具
298 引用 • 763 回帖
子曰:“工欲善其事,必先利其器。”
-
职场
127 引用 • 1708 回帖
找到自己的位置,萌新烦恼少。
-
Laravel
19 引用 • 23 回帖 • 737 关注
Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。
-
尊园地产
1 引用 • 22 回帖 • 796 关注
昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。
-
大数据
89 引用 • 113 回帖
大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
-
Visio
1 引用 • 2 回帖
-
JVM
180 引用 • 120 回帖 • 4 关注
JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。
-
Vditor
371 引用 • 1856 回帖 • 1 关注
Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。
-
Maven
188 引用 • 319 回帖 • 241 关注
Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。
-
CodeMirror
2 引用 • 17 回帖 • 167 关注
-
flomo
6 引用 • 143 回帖 • 1 关注
flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。
-
面试
326 引用 • 1395 回帖
面试造航母,上班拧螺丝。多面试,少加班。
-
RemNote
2 引用 • 16 回帖 • 20 关注
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于