04 2022 档案
摘要:##表单 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>表单学习</title> </head> <body> <h1>注册</h1> <!--表单form action:表单提交的位置,可以是网站,可以是
阅读全文
摘要:##页面结构 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>网页结构学习</title> </head> <body> <header> <h2>网页头部</h2> </header> <section>
阅读全文
摘要:##html基本标签 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>基本标签学习</title> </head> <body> <!--标题标签--> <h1>一级标签</h1> <h2>二级标签</h2>
阅读全文
摘要:###事务的ACID原则 原子性、一致性、隔离性,持久性 ###Spring-config.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xm
阅读全文
摘要:###UserMapperImpl 和原来比,需要继承SqlSessionDaoSupport ,不用set方法 package com.liu.mapper; import com.liu.pojo.User; import org.mybatis.spring.support.SqlSessio
阅读全文
摘要:##回顾mybatis 编写实体类 编写核心配置文件 编写接口 编写Mapper.xml 测试 ##Spring整合mybatis 1.编写数据源配置 2.sqlSessionFactory 3.sqlSessionTemplate 4.需要给接口加实现类 [多了这个] 5.将自己写的实现类,注入到
阅读全文
摘要:###什么是AOP 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方 式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个 热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。
阅读全文
摘要:##静态代理原理思想 新增功能横向开发,添加进去 ###模拟事件 ###角色分析 抽象角色:一般用接口或者抽象类解决 真实角色:被代理的角色 代理角色:代理真实角色,代理真实角色后,一般会做一些附属操作 客户:访问代理角色的人! ###代理模式的优缺点 有点: 可以使真实角色的操作更加纯粹,不用关注
阅读全文
摘要:###congig配置类 //这个也会被Spring容器托管,注册到容器中,以为他本来就是一个@ComponentScan //@Configuration代表这是一个配置类,就是我们之前看到的beans.xml @Configuration @ComponentScan("com.liu.pojo
阅读全文
摘要:####属性的注入 @Component扫描到bean中,组件的意思,会用在实体类或者映射类上 @Autowired,将已经在bean中的类,引用 @Component //@Component 组件 //等价于<bean id="User" class="com.liu.pojo.User"/>
阅读全文
摘要:###1导入约束 @Autowried用于属性类 导入约束:context约束 开启注解的支持 context:annotation-config/ <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframe
阅读全文
摘要:###bean的自动装配 自动是Spring满足bean依赖的一种方式 Spring会在上下文中自动寻找,并自动给bean装配属性 在spring中有3中装配方式 在XML中显式的配置 在java中显式配置 在xml中隐式自动装配 ####在xml中隐式自动装配 <?xml version="1.0
阅读全文
摘要:###bean的作用域 <bean id="User1" class="com.liu.pojo.User" p:age="18" p:name="小明" scope="singleton"></bean> 1、singleton作用域: Spring的scope的默认值是singleton Spr
阅读全文
摘要:####文件头注入2行即可用 xmlns:p="http://www.springframework.org/schema/p" xmlns:c="http://www.springframework.org/schema/c" <?xml version="1.0" encoding="UTF-8
阅读全文
摘要:###多种类型的注入方式 对象的属性 ####beans.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://w
阅读全文
摘要:参考:https://blog.csdn.net/zxcbnm7089/article/details/105677523 ###别名 <alias name="User0" alias="001"></alias> ###导入 在团队开发中,在总的配置文件.xml导入其他同事的配置文件,就能起作用
阅读全文
摘要:###Spring IOC创建对象 ####beans.xml 对象在配置文件的时候,就会实例化,并且每个实例只有1个 三种创建方式:建议使用第三种 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframe
阅读全文
摘要:###IOC推导 之前的业务模式 1.UserDao接口 2.UserDaolmpl 实现类 3.UserService 业务接口 4.UserServicelmpl 业务实现类 在我们之前的业务中,用户的需求可能会影响我们原来的代码,我们需要根据用户的需求去修改原代码!如果程序代码量十分大,修改一
阅读全文
摘要:##简介 Spring:春天 >给软件行业带来了春天! 2002,首次推出了Spring框架的雏形: interface21框架! Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版。 Rod Johnson ,Sprin
阅读全文
摘要:##什么是缓存 1.什么是缓存[ Cache ]? 存在内存中的临时数据。 将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。 2.为什么使用缓存? 减少和数据库的交互次数,减少系统开销,提高
阅读全文
摘要:###myBatis(sql片段) //将片段提取出来,命名后,在引用的地方用<include refid=""></include> <sql id="if"> <if test="title != null"> and title =#{title} </if> <if test="author
阅读全文
摘要:###动态sql if when choose set 本质就是在xml进行sql语句的拼接 ####在blogMapper.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DT
阅读全文
摘要:###多表查询 ####mybatis-config.xml 2个表都要注册 <!--每一个Mappper.XML都需要在MyBatis核心配置文件中注册--> <mappers> <mapper class="dao.StudentMapper"/> <mapper class="dao.Teac
阅读全文
摘要:###Lombok的使用 Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类。 导入依赖 <dependency> <groupI
阅读全文
摘要:###注解来执行sql 可以在工具类getSQLSession里面的方法oppenSession传参(true) mybaits-config.XML <mappers> <mapper class="dao.UserDao"/> </mappers> 接口 //查询某个用户 @Select("se
阅读全文
摘要:为什么分页 减少数据处理量 使用limit分页 语法:SELECT* from user limit startIndex ,pagesize; SELECT * from user limit 3; -->#[0,n] ###怎么实现 接口 方式一 //分页查询 List<User> limitS
阅读全文
摘要:###myBatis日志设置 日志选择类型 1.SLF4J 2.LOG4J 常用 3.LOG4J2 4.JDK_LOGGING 5.COMMONS_LOGGING 6.STDOUT_LOGGING 标准日志 7.NO_LOGGING 8.header ####STDOUT_LOGGING 标准日志
阅读全文
摘要:生命周期,和作用域,是至关重要的,因为错误的使用会导致非常严重的并发问题。 sqISessionFactoryBuilder: 一旦创建了SqlSessionFactory,就不再需要它了 局部变量 sqISessionFactory: 说白了就是可以想象为︰数据库连接池 SqlSessionFac
阅读全文
摘要:文档:https://mybatis.net.cn/configuration.html#settings ###1配置核心文件 mybatis-config.xml MyBatis 的配置文件包含了会深深影响MyBatis行为的设置和属性信息。 1 configuration(配置) 2 prop
阅读全文
摘要:##myBatis配置和测试 SQL增删改需要提交事务commit 工具类 myBatisUtils 配置文件 ybatis-3-config.xml 返回类型 user 接口 UserDao sql绑定配置文件 userDao.xml 测试类 TEST maven过滤配置 可能会遇到的问题 配置文
阅读全文
摘要:###什么是MyBatis MyBatis是一款优秀的持久层框架 它支持定制化SQL、存储过程以及高级映射。 MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。 MyBatis 可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO (Plain Old Ja
阅读全文
摘要:###数据库连接池 数据库连接 执行 释放 连接 释放 十分浪费系统资源 池化技术:准备一些预先的资源,过来就连接预先准备好的 最小连接数:10 最大连接数:15 等待超时:100ms 编写连接池,实现一个接口 DateSource ####开源数据源实现 DBCP C3P0 Druid:阿里巴巴
阅读全文
摘要:###PreparedStatement 防止sql注入 PreparedStatement 防止sql注入的本质,把传递进来的参数当做字符 假设其中存在转义字符,比如说 ` 会直接直接转义 package JDBCmysql.Demo03; import JDBCmysql.Demo02.Demo
阅读全文
摘要:###查询表 加载驱动 固定写法,加载驱动 用户信息和url 连接成功,数据库对象 connection 代表数据库 执行sql的对象 statement 执行sql的对象 执行sql的对象去执行sql,可能存在结果,查看返回结果 关闭资源,释放连接 package JDBCmysql.Demo01
阅读全文
摘要:###类加载器 类加载的作用:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后在堆中生成一个代表这个类的java.lang.Class对象,作为方法区中类数据的访问 ###加载器的分类 引导类加载器:用C++编写的,是JVM自带的类加载器,负责Java平台核
阅读全文
摘要:https://search.maven.org/search?q=mysql-connector https://mvnrepository.com/artifact/mysql/mysql-connector-java ###连接数据库查询 步骤 加载驱动 填写登录信息登录 连接数据库Drive
阅读全文
摘要:--明文密码 INSERT INTO testmd5 VALUES(1, ' zhangsan', '123456') , (2, 'lisi', ' 123456'),(3, 'wangwu', '123456') 加密 UPDATE testmd5 SET pwd=MD5 (pwd) WHERE
阅读全文
摘要:##三大范式 ###第一范式 原子性:保证每一项不可再分 ###第二范式 在保证第一范式前提下 每张表只描述一件事情 ###第三范式 在保证第一、第二范式前提下 确保数据表中的每一项数据都和主键直接相关,而不能间接相关 ##规范性和性能的问题 关联查询的表不得超过三张表 考虑商业化的需求和目标,(成
阅读全文
摘要:###为什么需要设计 ####槽糕的数据库设计 数据冗余,浪费空间 数据库插入和删除都会麻烦、异常【屏蔽物理外键的使用】 程序的性能差 ####良好的数据库设计 节省内存空间 保证数据库的完整性 方便我们开发系统 ####软件开发中,关于数据库的设计 分析需求:分析业务和需要处理的数据库的需求 概要
阅读全文
摘要:####为什么要备份: 保证重要的数据不丢失 数据转移 ####mysql数据库备份的方式 直接拷贝物理文件 在navicat这种可视化工具中手动导出 使用命令行导出 mysqldump cmd命令行使用 ####使用命令行导出 mysqldump 命令行使用 -- 导出 #mysqldump -h
阅读全文
摘要:--创建用户 CREATE USER 用户名 IDENTIFIED BY '密码' CREATE USER kuangshen IDENTIFIED BY '123456' -―修改密码(修改当前用户密码) SET PASSWORD =PASSWORD('123456') -―修改密码(修改指定用户
阅读全文
摘要:###BTREE ###二叉查找树 极端情况会退化成链表 平衡二叉树是基于儿茶查找树上优化出来的,是有序的 ###红黑树
阅读全文
摘要:###索引 1. 主键索引(primary key) - 唯一的标识,主键不可重复产生,只能有1个列作为主键 2. 唯一索引(unique key) - 避免重复的列出现,唯一索引可以重复用,多个列可以标识唯一索引 3. 常规索引(key/index) - 默认的,index/key 关键字来设置
阅读全文
摘要:###事务原则,ACID 原子性(atomicity) 要么都成功,要么都失败 一致性(consistency) 事务前后的数据完整性要保证一致 持久性(Durability) 事务提交 事务一旦提交则不可逆,被持久化到数据库中! 隔离性(lsolation) 事务的隔离性是多个用户并发访问数据库时
阅读全文
摘要:####常用函数 SELECT ABS(-8)--绝对值 SELECT CEILING(9.4) --向上取整 SELECT FLOOR(9.4) -- 向下取整 SELECT RAND() --返回一个0~1 之间的随机数 SELECT SIGN(10) --判断一个数的符号 0-0 负数返回-1
阅读全文
摘要:###查询 !!!查询解题思路: ①分析查询的数据来自哪些表(如果是多张表,记得写连接条件) ②如果需要过滤,追加到where后面 ③如果需要分组,用group by ④分组后的过滤,就用having ⑤需要排序,就用order by -- 别名,给结果起个别名 as 可以给字段起别名,也可以给表起
阅读全文
摘要:####数据表类型 INNODB 默认使用~ MYISAM 早些年使用的 MYISAM INNODB 事务支持 不支持 支持 数据行锁定 表锁定 行锁定 外键约束 不支持 支持 全文索引 支持 不支持 表空间的大小 较小 较大,约为2倍 常规使用操作 MYISAM 节约空间,速度较快 INNODB
阅读全文