首页
友链
Search
1
01-快捷命令
171 阅读
2
寒假计划
154 阅读
3
学期计划(大三下学期)
152 阅读
4
浏览器规范(ES module)和 node.js 规范(Common JS)
150 阅读
5
03-概念解析
147 阅读
计划
算法
面试题
运维
Ansible
Linux
数据库
neo4j
共用
web 前端
CSS
JavaScript
Vue
Node.js
英语单词
工程化
JAVA
mysql
收获
面试
mybatis
Spring
基础
spring-mvc
问题
项目
宠物乐园
速查
问题集
git
学习
sql
二阶段
登录
Search
标签搜索
spring
mysql
vue
ansible
CSS
面试
计划
收获
JAVA面试题
spring-mvc
Starrylsi
累计撰写
106
篇文章
累计收到
55
条评论
首页
栏目
计划
算法
面试题
运维
Ansible
Linux
数据库
neo4j
共用
web 前端
CSS
JavaScript
Vue
Node.js
英语单词
工程化
JAVA
mysql
收获
面试
mybatis
Spring
基础
spring-mvc
问题
项目
宠物乐园
速查
问题集
git
学习
sql
二阶段
页面
友链
搜索到
106
篇与
的结果
2024-10-02
06-Mybatis-我学到了什么
总结Mybatissqlsession 会话级别的一级缓存,mapper应用级别的二级缓存mybatis的常用配置参数为什么要使用mybatis动态sql的帮我们完成了什么if 判断choose when otherwise 从多个条件中选取一个foreach 集合进行遍历where 元素只会在子元素返回任何内容的情况下才插入 “WHERE” 子句。而且,若子句的开头为 “AND” 或 “OR”,where 元素也会将它们去除。set 元素会动态地在行首插入 SET 关键字,并会删掉额外的逗号(这些逗号是在使用条件语句给列赋值时引入的)。trim 可以动态在包含的语句前面和后面添加内容。也可以去掉前面或者后面给定的内容 prefix 前面添加内容 suffix 后面添加内容 suffixOverrides 去掉的后面内容 prefixOverrides 去掉的前面内容理解mybatis的缓存缓存:缓存指的是将经常访问的数据保存到一个高速的数据存储区。缓存的目的就是为了快速访问一级缓存: 指的是将数据保存一以SqlSession中(同一个SqlSession)二级缓存: 指的是将数据保存到mapper中(同一个sqlSessionFactory)一级缓存失效的四种情况1.不在同一个SqlSession对象中2.执行语句的参数不同。缓存中也不存在数据。3.执行增,删,改,语句,会清空掉缓存4.手动清空缓存数据二级缓存使用步骤myBatis的二级缓存默认是不开启的。我们需要在mybatis的核心配置文件中配置setting选项 和 在Mapper的配置文件中加入cache标签。并且需要被二级缓存的对象必须要实现java的序列化接口。缓存的使用顺序说明当我们执行一个查询语句的时候。mybatis会先去二级缓存中查询数据。如果二级缓存中没有。就到一级缓存中查找。如果二级缓存和一级缓存都没有。就发sql语句到数据库中去查询。查询出来之后马上把数据保存到一级缓存中。当SqlSession关闭的时候,会把一级缓存中的数据保存到二级缓存中。
2024年10月02日
12 阅读
0 评论
0 点赞
04-命令行全称
命令行全称意义: 了解命令的全称有利于理解和记忆sysdm.cplsysdm.cpl 的全称是由 "System Data Manager"(系统数据管理)和 "Control Panel extension"(控制面板扩展)的缩写 "cpl" 组合而成的。它是一个控制面板扩展文件,用于访问系统属性设置的控制面板项
2024年09月29日
33 阅读
0 评论
0 点赞
2024-09-23
9-23_21-jdbc
填空题JDBC,是一种用于执行SQL语句的Java API,为多种关系数据库提供统一访问。它由一组用Java语言编写的类和接口组成。JDBC API:供程序员调用的接口与类,集成在java.sql和javax.sql包中。简单地说,JDBC 可做三件事:连接数据库、发送操作数据库的语句、处理结果。加载JDBC驱动是通过调用方法 Class.forName() 实现的。JDBC中与数据库建立连接是通过调用 DriverManager类的静态方法 getConnection() 实现的。有三种 Statement对象:Statement、PreparedStatement、CallableStatement(从PreparedStatement 继承)。ResultSet 对象是executeQuery()方法的返回值,它被称为结果集,它代表符合SQL语句条件的所有行,并且它通过一套getXXX方法(这些get方法可以访问当前行中的不同列)提供了对这些行中数据的访问。ResultSet对象自动维护指向当前数据行的游标。每调用一次next()方法,游标向下移动一行。在JDBC中,事务操作成功后,系统将自动调用 commit() 提交,否则调用rollback()回滚。在JDBC中,事务操作方法都位于接口java.sql.Connection中。可以通过调用setAutoCommit(false)来禁止自动提交。JDBC中,事务开始的边界不是那么明显,它会开始于组成当前事务的所有SQL语句中的第一个被执行的时候选择题只要是通过 JDBC 进行数据库操作,都需要创建一个 Connection 对象来建立与数据库的连接,然后才能执行 CRUD(创建、读取、更新、删除)操作。Connection 对象是执行 SQL 语句和进行事务管理的基础使用 Connection 对象的 prepareStatement()方法可以创建一个 PreparedStatement 接口的实例实际上,Statement 的 executeUpdate()方法返回的是一个 int 类型的值,表示执行的 SQL 语句影响的行数,而不是一个布尔值。如果是执行插入、更新或删除操作,这个方法返回的是受影响的行数;如果是执行创建或删除表的操作,则返回 0如果 JDBC 执行查询语句没有查询到数据,ResultSet 对象不会是 null,而是可以正常创建,但是它的第一条记录是空的,即调用 next()方法会返回 false。ResultSet 对象的记录指针初始状态下并不指向第一条记录,而是在结果集之外。必须先调用 next()方法,如果返回 true,那么记录指针才会指向第一条记录。在 JDBC 编程中,要获取 ResultSet 对象 rs 的第一列数据,可以使用列的索引(从 1 开始)或者列的名称SELECT COUNT(_) FROM emp;这条 SQL 语句是用来统计 emp 表中的记录数。即使表中没有任何数据,COUNT(_)也会返回一个数值,即 0,而不是 null。因此,ResultSet 中将会是有数据的,具体来说,它会包含一个值为 0 的单一数据行。PreparedStatement 可以执行带有问号占位符的预编译 SQL 语句,但它也可以执行其他类型的 SQL 语句,只要这些语句在创建 PreparedStatement 对象时被指定。问号占位符用于预编译时的参数化查询,以提高性能和安全性,但不是 PreparedStatement 唯一能执行的语句类型在 PreparedStatement 中,参数是通过索引位置来设置的,索引从 1 开始。所以,要为第三个问号赋值,应该使用索引 3(因为索引是从 1 开始的)判断题正确。JDBC对Java程序员而言是接口模型,提供了一组操作数据库的接口;对实现与数据库连接的服务提供商而言是API,提供了实现这些接口的具体方法。正确。这是JDBC访问数据库的标准步骤。正确。ResultSet对象确实有记录指针,并且使用next()方法遍历结果集是常见的做法。错误。循环完毕后,ResultSet对象的游标不会指回第一条记录,而是停留在结果集的末尾。正确。关闭不再需要的Statement和Connection对象是一种好的编程实践,可以释放数据库资源。错误。虽然ResultSet可能会在某些情况下自动关闭,但最佳实践是显式地关闭它,以确保资源被正确释放。错误。关闭资源的顺序应该是先关闭ResultSet,然后是Statement,最后是Connection。这样做是因为Statement和ResultSet都依赖于Connection,一旦关闭了Connection,与之相关的Statement和ResultSet都会变得无效。错误。在JDBC中,事务操作默认是自动提交的,除非调用了setAutoCommit(false)来禁用自动提交。简答题不同类型的JDBC驱动:Type 1: 完全用本地语言编写的驱动,通常称为JDBC-ODBC桥。它使用ODBC API来与数据库进行通信。Type 2: 部分用本地语言编写,驱动本身充当JDBC和数据库之间的中间层。Type 3: 纯Java驱动,使用本地协议直接与数据库进行通信。Type 4: 纯Java驱动,通过网络协议与数据库进行通信。JDBC的操作步骤:加载JDBC驱动。创建数据库连接(Connection对象)。创建Statement或PreparedStatement对象。执行SQL语句。获取并处理结果(ResultSet)。关闭所有资源(ResultSet、Statement、Connection)。execute, executeQuery, executeUpdate的区别:executeQuery: 用于执行返回数据集的查询语句,返回ResultSet对象。executeUpdate: 用于执行插入、更新或删除操作的SQL语句,返回受影响的行数。execute: 可以执行任何类型的SQL语句,返回一个boolean值,如果第一个结果是一个ResultSet对象,则返回true,否则返回false。它还可以返回一个ResultSet对象或更新计数。JDBC的ResultSet:ResultSet是JDBC API中的一个接口,代表从数据库执行查询操作后返回的数据集。它提供了一种方式来逐行遍历查询结果。ResultSet通常通过executeQuery方法获得,它包含了查询结果集中的数据。相对于Statement,PreparedStatement的优点:性能:PreparedStatement支持预编译,可以提高执行效率,特别是对于频繁执行的相同SQL语句。安全性:PreparedStatement可以有效防止SQL注入攻击,因为它使用参数化查询。灵活性:可以通过设置不同的参数值来重复使用同一个PreparedStatement对象。JDBC的事务管理:定义:事务是一组原子性的SQL操作,要么全部成功,要么全部失败。为什么需要:事务提供了数据的完整性和一致性。在执行一系列数据库操作时,如果其中任何一个操作失败,事务可以回滚到操作之前的状态,确保数据不会处于不一致的状态。操作:通常包括commit(提交事务)和rollback(回滚事务)。可以通过Connection对象的setAutoCommit方法来控制事务的自动提交行为。
2024年09月23日
17 阅读
0 评论
0 点赞
2024-09-22
02_9-22_用户注册-手机短信验证码+注册实现
问题教师语录收获自研正文店铺入住密码加密Md5: jdk 内置了 jar 包加密过程:/** * 1. 获取admin密码 * 2. 生成随机密钥 * 3. 加密 */短信验证:/** * 前端 * * 1.判断手机号不为空 * 2.判断图片验证码不为空 * 3.获取按钮 禁用按钮 发送成功后60秒内不能再次发送,60 秒后才能发送 * 4. 发送ajax请求 * * 后端 * */锚点链接收获vo: view object (给页面使用的,视图对象)dto: data transform object (后端存储不属于数据库的数据,数据传输对象)教师语录代码逻辑和用户逻辑区别开,代码逻辑记不完全才是真实状态代码不是一次就能写的优雅的,需要后期不断优化修改不是什么东西都要学会再使用,应该是当时知道怎么用就可以了,这样才贴合开发的真实场景业务比技术难问题 操作百度文本合规时,由于导入 jar 包不符合要求而报错 调试模式下才能打断点,点击运行断电是不生效的自研店铺入住密码加密店铺入驻短信验证登录
2024年09月22日
20 阅读
0 评论
0 点赞
2024-09-20
01_店铺审核+人工智能+邮件发送+Excel+Echarts
问题教师语录正文1. 人工智能文本审核: 审核文字是否合规描述: 通过查看百度的官方文档,可以清楚的知道使用它的流程;结合抓码的文档完全来做,就没有什么困难2. 邮箱验证在做邮箱验证之前:前端: 将 shop 页面显示并可以点击审核按钮;后端: 用代码生成器(generator)生成 t_shop_audit_log 表的对应数据后端: 编写 ShopAuditLogController 的 申请通过和申请失败两个请求并反回值{dotted startColor="#8d4949" endColor="#1989fa"/}锚点链接教师语录用业务逻辑来简化外键的使用问题不清楚每个包的作用date 在 mapper 处 new 一个 date一开始不清楚应该在哪个包放什么audit代码逻辑/** * 1. 通过shopAuditLog的id获取shop的id * 2. 状态设置为拒绝 * 3. 更新shop的值 * 4. shopAuditLog对应表设为拒绝 * 5. 设置id值 * 6. //todo 审核人 通过登录的用户去获取id * 7. 设置审核人的id 模拟已经登录 * 8. 保存审核信息 */ /** * reject和 pass具有相同功能的代码 * 定义audit函数传入不同的参数实现功能 */
2024年09月20日
21 阅读
0 评论
1 点赞
1
2
3
...
22