11 2022 档案
摘要:一.什么是反射: Relection(反射):是Java被视为动态语言的关键,反射机制允许程序在执行期间借助于ReflectionAPI取得任何类的内部信息,并能直接操作任意对象的内部属性及方法 公式: Class c = Class.forName("java.lang.String"); //
阅读全文
摘要:一.Annotation : 注解 什么是注解: 它自己不是程序本身,也可以做出解释 可以被其它程序读取 注解格式: 注解是以“@注释名”在代码中存在 例如@SupperessWarning( value = "unchecked") 可以在那些地方使用: 比如 包(package),类文件(cla
阅读全文
摘要:一.简介 1.为什么要使用缓存: 我们在数据库查询数据的时候,总会不断的连接,释放,但是使用的查询语句和要查询的东西却是一摸一样的,这样反复的操作是十分浪费资源的 所以,我们在第一次查询出来的结果就可以先存在一个地方,比如用户的内存中:这就是缓存 我们想要再次进行查询的时候就可以直接去缓存,不再直接
阅读全文
摘要:一.sql片段 为什么要使用sql片段: 我么在编写一些大规模的sql语句时,总会面临所写的sql语句在几个增删改语句中反复出现,它们都做着相同的事,我们却要反复的编写(虽然可以复制粘贴),为了简化我们的sql结构 所以mybatis衍生出来了sql片段,用来对重复的sql语句进行集中放置,然后按需
阅读全文
摘要:一.什么是动态sql 动态sql就是根据不同的条件生成不同的语句 动态 SQL 是 MyBatis 的强大特性之一 如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号 利用动态 SQ
阅读全文
摘要:一.按照查询嵌套处理 1.写接口 List<Student> getstudent(); 2.在mapper.xml中写相关的sql语句 @Data public class Teacher { private int id; private String name; private List<St
阅读全文
摘要:一.CRUD 我们可以在工具类中设置自动提交事务! public static SqlSession getSqlSession(){ return sqlSessionFactory.openSession(true); } 1.编写接口:使用注解完成简单的sql语句 @Param 它的属性和sq
阅读全文
摘要:一.日志 工厂日志: 如果一个数据库的操作出现了异常,我们需要排错。日志就是最好的助手 以前排错使用:sout,debug 现在:日志工厂 logImpl(日志工厂) SLF4J LOG4J (掌握) LOG4J2 JDK_LOGGING COMMONS_LOGGING STDOUT_LOGGING
阅读全文
摘要:一.别名 类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置,意在降低冗余的全限定类名书写 1.利用typealiases来实现 <typeAliases> <typeAlias type="top.lostyou.pojo.User" alias="user"/> </type
阅读全文
摘要:一.环境配置(environments) MyBatis 可以配置成适应多种环境,不过要记住:尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。 <environments default="development"> default:可以自定义选择项目将要使用
阅读全文
摘要:1.namespace中的包名要和接口包名一致(namespace在xml文件中,接口包名,就是xml的实例化对象) 2.resultType:返回的参数类型(如果返回值是int,可以不用写) 3.parameterType:传入参数或对象类型 我们在配置好了项目的核心配置文件以后(mybatis-
阅读全文
摘要:第一步:编写我们使用数据库的工具类 // sqlSessionFactory -- > sqlSession public class MybatisUtils { private static SqlSessionFactory sqlSessionFactory; private static
阅读全文
摘要:一.springboot核心:自动装配 1.pom.xml spring-boot-dependencies:核心依赖在父工程中 我们在写入或者引入一些springboot依赖的时候,不需要指定版本,因为有这些版本仓库 2.启动器: <dependency> <groupId>org.springf
阅读全文
摘要:一.SQL注入的问题 sql存在漏洞,会被攻击和数据泄露(statement对象) SQL语句会被自动拼接 如果输入字符有 OR 那可以保证后面数据永远为真,例如:‘ ’(空字符)or ‘ 1 = 1 ’ 以上这样的语句会导致sql语句拼接时候出错后面永远为真,所以前面输入什么都没关系,整体都为真
阅读全文
摘要:一.为什么要学习JDBC SUM公司为了简化开发人员的操作(对数据库的统一),提供了一个规范(Java操作数据库的规范),俗称:JDBC 这些规范的实现是由厂商们去做~ 对于开发人员来说,我们只需要掌握JDBC即可。 我们如果要使用JDBC,还需要导入一个数据库驱动包(我选择maven导入): <!
阅读全文
摘要:CREATE TABLE `app_user` ( `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `name` VARCHAR(50) DEFAULT'' COMMENT'用户昵称', `email` VARCHAR(50) NOT NULL C
阅读全文
摘要:一.分页和排序 -- 分页 limit 和排序 order by -- 排序 ;升序 ASC ,降序 -- 升序 SELECT s.`id`,`name`,`paw`,`gradename` FROM student AS s INNER JOIN grade AS g ON s.id=g.`gra
阅读全文
摘要:一.联表查询 -- 联表查询 /* 思路 1.需求分析,分析查询的字段来自于那张表(连接查询) 2.确定使用那种查询方式 3.确定交叉点(两张表中什么数据是相同的) 4.判断条件`student` */ -- inner join SELECT s.`id`,`name`,`paw`,`graden
阅读全文
摘要:数据库的意义:数据存储,数据管理 DML语言,数据操作语言 insert - 插入 update - 修改 delete - 删除 1.插入 -- 插入语句 -- insert into 表名(字段1,字段2,字段3) values(值1,值2,值3) INSERT INTO `grade`(`gr
阅读全文
摘要:CREATE TABLE IF NOT EXISTS `stdent`( `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学员id', `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名', `paw`
阅读全文
摘要:一.命令行登录mysql: mysql -u root -p123456 注意:打开不了可能是没有启动服务 net start mysql 启动mysql服务 net stop mysql 停止mysql服务 修改密码为:123456;update mysql.user set authentica
阅读全文
摘要:Filter:过滤器,用来过滤网站数据; 处理中文乱码 登录验证.... 过滤器的分析: 我们用户在使用web浏览器访问web服务器的时候;以往的过程都是web服务器直接去寻址拿资源(servlet,jsp,HTML,静态资源),然而在请求处理的时候,我们通常会因为请求和响应的数据结构类型不同,导致
阅读全文
摘要:一:什么是MVC Model:模型 view:视图 Controller:控制器 二:早些年的网页模型 早些年的网页模型只有两部风:一个是控制层Contrroller,还有View视图层 控制层的工作是: 1.接收用户的请求 2.响应给客户端内容 3.重定向或者转发 视图层的工作是: 1.展示数据给
阅读全文
摘要:一:EL 表达式 获取数据 执行运算 获取web开发的常用的对象 二:JSP标签 <jsp:forward page="/jsptag2.jsp"> <jsp:param name="name" value="maming"></jsp:param> <jsp:param name="age" va
阅读全文
摘要:准备工作,导入一些依赖 <dependencies> <!--Servlet 的依赖--> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version
阅读全文