自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(147)
  • 收藏
  • 关注

原创 JAVA 8 junit 单元测试——静态方法单元测试 Mockito.mockStatic

静态方法的单元测试Mockito直接上例子方法public ArrayList<SearchFields> convertToSearchFieldsList(String ruleJsonString) { return JSON.parseObject(ruleJsonString, new TypeReference<ArrayList<SearchFields>>() { }); }parseObject方法就是静

2022-03-15 15:26:04 4408

原创 Java8 .stream().map(Bean::getId).collect(Collectors.toList())

从数据库中某个对象集合,如日志,提取出日志的id集合,后续使用List<VisitorLog> logList = visitorLogMapper.search(param.getAccount(),param.getStatus());List logIdList = logList..stream().map(VisitorLog::getId).collect(Collectors.toList());等同于:List<VisitorLog> logList =

2022-02-25 11:14:05 1554 1

原创 西安烽火通信面经——Java后端开发

由于地方比较太偏远,2号线-3号线-6号线,等了半个小时的公交还不来,只能打滴滴。一面:技术面1.先自我介绍一下这个没什么说的,简单介绍了一下2.说一下Java语言的跨平台性这个是基于JVM实现的,简单说了一下3.说一下Java语言的面向对象,与面向过程有什么区别这个答得不太好,HR讲解了一下(尴尬)4.企业中一般用黑盒测试多还是白盒?简单说了黑白盒测试,我说的是觉得白盒测试多,hr简单说了下企业用的多是黑盒测试,白盒测试耗费太大等等5.数据库左右链接,为什么要用他这个答得还可以6.

2021-03-31 21:18:09 1092

原创 Linux操作命令大全——面试

Linux操作命令Linux是基于Unix的Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?绝对路径: 如/etc/init.d当前目录和上层目录: ./ …/主目录: ~/切换目录: cd怎么查看当前进程?怎么执行退出?怎么查看当前路径查看当前进程: ps

2021-03-22 15:47:30 171 1

原创 spring 的依赖注入

依赖注入的概念依赖注入:Dependency Injection。它是 spring 框架核心 ioc 的具体实现。我们的程序在编写时,通过控制反转,把对象的创建交给了 spring,但是代码中不可能出现没有依赖的情况。ioc 解耦只是降低他们的依赖关系,但不会消除。例如:我们的业务层仍会调用持久层的方法。那这种业务层和持久层的依赖关系,在使用 spring 之后,就让 spring 来维护了。简单的说,就是坐等框架把持久层对象传入业务层,而不用我们自己去获取构造函数注入就是使用类中的构造函数,

2021-03-06 17:39:00 98

原创 mybatis修改映射配置

修改映射配置1.在mapper配置中使用as修改这种方法是直接在SQL层执行,效率很高。但如果我们的查询很多,都使用别名的话写起来就会很麻烦,就需要用第二种方法2.resultMap 结果类型resultMap 标签可以建立查询的列名和实体类的属性名称不一致时建立对应关系。从而实现封装。在 select 标签中使用 resultMap 属性指定引用即可。同时 resultMap 可以实现将查询结果映射为复杂类型的 pojo,比如在查询结果映射对象中包括 pojo 和 list 实现一对一查询和一

2021-03-05 13:10:55 401 1

原创 #{}与${}的区别

#{}表示一个占位符号通过#{}可以实现 preparedStatement 向占位符中设置值,自动进行 java 类型和 jdbc 类型转换,#{}可以有效防止 sql 注入。 #{}可以接收简单类型值或 pojo 属性值。 如果 parameterType 传输单个简单类型值,#{}括号中可以是 value 或其它名称。${}表示拼接 sql 串通过${}可以将 parameterType 传入的内容拼接在 sql 中且不进行 jdbc 类型转换, ${}可以接收简单类型值或 pojo 属性值,如

2021-03-05 12:57:04 326 1

原创 自定义 Mybatis 框架的分析&Mybatis 与 JDBC 编程的比较

1.分析流程

2021-03-05 12:51:15 123 1

原创 Error:java: 不再支持源选项 1.5。请使用 1.6 或更高版本。

Error:java: 不再支持源选项 1.5。请使用 1.6 或更高版本。直接在pom.xml中添加配置<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> <java.

2021-03-05 08:32:55 259 1

原创 ### Error opening session. Cause: java.lang.NullPointerException ### Cause: java.lang.NullPointerEx

搭建mybatis环境出现错误:是因为配置Mybatis的配置文件处了问题这两个要一致,根据default的ID寻找对应的environment的id值

2021-03-04 21:40:56 540 1

原创 Error:java: 不支持发行版本 5

出现上图错误,是项目编译配置使用的Java版本不对,需要检查一下项目及环境使用的Java编译版本配置。点击“File” -->“Project Structure”,看“Project”和“Module”栏目中Java版本是否与本地一致(我用的是jdk9)点击“Settings”–>“Bulid, Execution,Deployment”–>“Java Compiler”,Target bytecode version设为本地Java版本。(可以在Default Sett.

2021-03-04 10:05:22 83 1

原创 IDEA2020mybatis错误:Error:(5, 28) java: 程序包org.apache.ibatis.io不存在

出现该错误是因为maven与IIDEA新版本不兼容,勾选IDEA默认集成maven。即修改一maven home directory为Bundled (Maven 3),并修改为IDEA2020默认给的路径,不要用自己的maven本地仓库的路径,用idea 2020 内置的maven1.在file->setings中找到maven比如我的IDEA默认maven位置:修改后点击Build,Rebuild Progact,重新建立一下就好了(或者还没有刷新过来,点击右边maven,左上角

2021-03-04 08:53:24 2551 5

原创 初学mybatis遇到的错误:Exception in thread “main“ org.apache.ibatis.exceptions.PersistenceException:

初次学习mybatis,一个简单的入门案例,就搞得我头很大,精神折磨呀。我用的是idea2020版,jdk9总结几个我踩的坑1.找不到映射文件。这和没有遵循mybatis的mapper代理配置规范有关Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/i

2021-03-04 08:26:33 1354 1

原创 Some problems were encountered while building the effective model for...Maven出现该警告解决方法

Some problems were encountered while building the effective model for com.zz.springcloud:cloud:pom:1.0-SNAPSHOT'build.plugins.plugin.version' for org.springframework.boot:spring-boot-maven-plugin is missing. @ line 89, column 15It is highly recommended t

2020-12-19 16:54:51 47705 14

原创 IDEA2020-Tomcat热部署两种方法(修改class后不用重启tomcat)

第一种第一种也是最常见的,修改为Update classes and resources。不过我的有Update classes and resources这个选项,设置之后,依旧没用。大家可以先康康这个1.如图,选择Edit Configurations…选项2.点击你要配置的tomcat,点击Deployment,点击“+”,选择你要部署的war包,热部署必须要选择带有exploded的war包。3.点击Server,如下图操作,点击OK.然后重启Tomcat,可能会有延迟。第二种要

2020-12-02 17:56:51 5323 1

原创 XML_J对象使用_Jsoup/Document/Elements/Element/Node对象

对象使用1.Jsoup:工具类,可以解析html或xml文档,返回Documentparse:解析html或xml文档,返回Documentparse​(File in, String charsetName):解析xml或html文件的。parse​(String html):解析xml或html字符串parse​(URL url, int timeoutMillis):通过网络路径获取指定的html或xml的文档对象代码:student.xml:&lt

2020-11-26 21:08:13 153 1

原创 XML_解析_Jsoup快速入门(jar包导入)

XML解析概念:操作xml文档,将文档中的数据读取到内存中操作xml文档1.解析(读取):将文档中的数据读取到内存中。2.写入:将内存中的数据保存到xml文档中。持久化的存储解析xml的方式:1.DOM :将标记语言文档一次性加载进内存,在内存中形成一颗dom树优点:操作方便,可以对文档进行CRUD的所有操作缺点:占内存2.SAX:逐行读取,基于事件驱动的。优点:不占内存。缺点:只能读取,不能增删改xml常见的解析器:1. JAXP:sun公司

2020-11-26 17:35:11 1508 2

原创 JavaScript练习_表格全选、反选、全不选

需求:设置一个表格,可以满足全选,全不选,反选,以及点击第一个checkbox所有checkbox状态与之一样。同时满足鼠标移动到每一行,该行背景色改变,移出则背景色消除。代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>表格全选</title> <style> table{

2020-11-25 15:12:53 386 1

原创 JavaScript练习_简单的动态表格实现

需求:制作一个可以动态删除添加的表格,如下分析1.添加1.给添加按钮绑定单击事件2.获取文本框内容3.创建td,设置td的文本为文本框内容4.创建tr5.将td添加到tr中6.获取table,将tr添加到table中2.删除:1.确定点击的是哪一个超链接删除2.怎么删除removeChild():通过父节点删除子节点代码:<!DOCTYPE html><html lang="en"><head> <meta ch

2020-11-25 09:24:05 205 1

原创 JS_RegExp正则表达式对象

RegExp:正则表达式对象正则表达式:定义字符串的组成规则。单个字符:[]如: [a] [ab] [a-zA-Z0-9_]特殊符号代表特殊含义的单个字符:\d:单个数字字符 [0-9]\w:单个单词字符[a-zA-Z0-9_]量词符号:?:表示出现0次或1次*:表示出现0次或多次+:出现1次或多次{m,n}:表示 m<= 数量 <= n* m如果缺省: {,n}:最多n次* n如果缺省:{m,} 最少m次开始结束符号^:开始$:结束正则对象

2020-11-22 08:52:23 104

原创 JS练习_九九乘法表

效果图:分析:1.先使用基本的for循环嵌套,展示乘法表 <script> for (var i = 1; i <= 9 ; i++) { for (var j = 1; j <= i ; j++) { document.write(i +"*"+ j + "=" + (i*j) +"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp");

2020-11-19 11:25:57 3771 1

原创 JDBCTemplate练习_执行DML&DQL语句

练习需求:1. 修改1号数据的 salary 为 100002. 添加一条记录3. 删除刚才添加的记录4. 查询id为1001的记录,将其封装为Map集合5. 查询所有记录,将其封装为List6. 查询所有记录,将其封装为Emp对象的List集合7. 查询总记录数准备数据:执行DML语句1. 修改1号数据的 salary 为 100002. 添加一条记录3. 删除刚才添加的记录封装Emp表数据的JavaBean:/** * 封装Emp表数据的JavaBean

2020-11-15 08:54:50 239

原创 JDBCTemplate_介绍&快速入门

Spring JDBCSpring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发步骤:* 1. 导入jar包* 2. 创建JdbcTemplate对象。依赖于数据源DataSource* JdbcTemplate template = new JdbcTemplate(ds);* 3. 调用JdbcTemplate的方法来完成CRUD的操作update():执行DML语句。增、删、改语句queryForMap():查询结果将结果集封装为map集合,将

2020-11-14 14:04:12 139

原创 C3P0与Druid的导入jar包以及MySQL的导入jar包

我把他们打包在资料文件里,百度网盘下载哈。链接:https://pan.baidu.com/s/1KGPKGGr_XLxDj0tuucB2gQ提取码:mghh

2020-11-13 20:44:07 566 1

原创 数据库连接池_druid基本使用&工具类及测试

driud基本使用Druid:数据库连接池实现技术,由阿里巴巴提供的步骤:1. 导入jar包 druid-1.0.9.jar2. 定义配置文件:*是properties形式的*可以叫任意名称,可以放在任意目录下driverClassName=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:3306/db3?serverTimezone = UTCusername=rootpassword=123# 初始化连接数量

2020-11-13 20:35:02 424

原创 数据库连接池_C3P0基本使用&配置演示

C3P0:数据库连接池技术步骤:1. 导入jar包 (两个) c3p0-0.9.5.2.jarmchange-commons-java-0.2.12.jar不要忘记导入数据库驱动jar包2. 定义配置文件:* 名称: c3p0.properties 或者 c3p0-config.xml路径:直接将文件放在src目录下即可。3. 创建核心对象 数据库连接池对象 ComboPooledDataSource4. 获取连接: getConnection代码://1.

2020-11-13 19:39:51 420

原创 数据路连接池_概述&实现介绍

数据库连接池1. 概念:其实就是一个容器(集合),存放数据库连接的容器。当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。2. 好处:1. 节约资源2. 用户访问高效数据库连接池实现1. 标准接口:DataSource javax.sql包下的1.方法:* 获取连接:getConnection()* 归还连接:Connection.close()。如果连接对象Connecti

2020-11-13 09:56:51 59

原创 JDBC管理事物概述、实现

JDBC管理事物1. 事务:一个包含多个步骤的业务操作。如果这个业务操作被事务管理,则这多个步骤要么同时成功,要么同时失败。2. 操作:1. 开启事务2. 提交事务3. 回滚事务3. 使用Connection对象来管理事务开启事务:setAutoCommit(boolean autoCommit) :调用该方法设置参数为false,即开启事务* 在执行sql之前开启事务提交事务:commit()* 当所有sql都执行完提交事务回滚事务:rollback()* 在catch中回滚事

2020-11-09 17:09:22 210 4

原创 JDBC练习_用户登陆案例&&SQL注入问题&&PreparedStatement接口

练习:需求:1. 通过键盘录入用户名和密码2. 判断用户是否登录成功* select * from user where username = “” and password = “”;* 如果这个sql有查询结果,则成功,反之,则失败步骤:1. 创建数据库表 userCREATE TABLE USER( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(32), PASSWORD VARCHAR(32));S

2020-11-09 13:50:29 377

原创 JDBC工具类_JdbcUtils

抽取JDBC工具类 : JDBCUtils目的:简化书写分析:注册驱动也抽取抽取一个方法获取连接对象需求:不想传递参数(麻烦),还得保证工具类的通用性。解决:配置文件jdbc.propertiesurl=user=password=抽取一个方法释放资源抽取注册驱动,抽取一个方法释放资源/** * JDBC工具类 */public class JDBCUtils { private static String url; privat

2020-11-09 11:43:40 390 4

原创 JDBC练习_ResultSet遍历结果集

练习:定义一个方法,查询emp表的数据将其封装为对象,然后装载集合,返回。1. 定义Emp类2. 定义方法 public List findAll(){}3. 实现方法 select * from emp;代码:封装Emp表数据的JavaBean/** * 封装Emp表数据的JavaBean */public class Emp { private int id; private String ename; private int job_id; p

2020-11-04 11:56:25 931

原创 JDBC_练习_insert&update&update DDL&select语句

JDBC练习1.insert语句:account表 添加一条记录代码:import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;/** * account 表添加一条记录 insert语句 */public class JDBCDemo02 { public static void main(String[] a

2020-11-03 17:27:31 183

原创 JDBC各个类详解_DriverManager&Connection&Statement

1. DriverManager:驱动管理对象功能:1. 注册驱动:告诉程序该使用哪一个数据库驱动jarstatic void registerDriver(Driver driver) :注册与给定的驱动程序 DriverManager 。写代码使用: Class.forName(“com.mysql.jdbc.Driver”);通过查看源码发现:在com.mysql.jdbc.Driver类中存在静态代码块【随着Driver类的加载而自动执行】 static {

2020-11-03 14:39:52 304 1

原创 JDBC_概念&快速入门

什么是JDBC1. 概念:JDBC(Java DataBase Connectivity), Java 数据库连接, Java语言操作数据库JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即* 接口 * 。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。2. 快速入门:步骤:1. 导入驱动jar包 mysql-connector-java-8.0.13.jar1.复制

2020-10-30 20:18:34 111

原创 _DCL管理用户_增删改查(mysql忘记用户密码)

DCL (Data Control Language)SQL分类:1. DDL:操作数据库和表 create / alter / drop2. DML:增删改表中数据 insert /update/delete3. DQL:查询表中数据 select /show4. DCL:管理用户,授权 grant /revokeDBA:数据库管理员DCL:管理用户,授权1. 管理用户1.1 添加用户:* 语法:CREATE USER ‘用户名’@‘主机名’ IDENTIFIED BY

2020-10-30 16:01:55 150

原创 _事物_事物四大特征ACID&事物的隔离级别

事物四大特征ACID1.原子性(Atomicity)每个事务都是一个整体,不可再拆分,事务中所有的 SQL 语句要么都执行成功,要么都失败。2.一致性(Consistency)事务在执行前数据库的状态与执行后数据库的状态保持一致。如:转账前2个人的总金额是 2000,转账后 2 个人总金额也是 20003.隔离性(Isolation)事务与事务之间不应该相互影响,执行时保持隔离的状态。4.持久性(Durability)一旦事务执行成功,对数据库的修改是持久的。就算关机,也是保存下来的..

2020-10-29 21:08:11 161 2

原创 _事物概述、演示、回滚,事物的两种提交方式(自动,手动)

1. 事务的基本介绍1. 概念:* 如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。2. 操作:1. 开启事务: start transaction;2. 回滚:rollback;3. 提交:commit;3. 例子:创建一个account表-- 创建数据表CREATE TABLE account( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10), balance DOU

2020-10-29 11:43:04 2268 6

原创 MySQL多表&事物_多表查询练习

多表查询练习创建表:-- 部门表CREATE TABLE dept ( id INT PRIMARY KEY PRIMARY KEY, -- 部门id dname VARCHAR(50), -- 部门名称 loc VARCHAR(50) -- 部门所在地); -- 添加4个部门INSERT INTO dept(id,dname,loc) VALUES (10,'教研部','北京'),(20,'学工部','上海'),(30,'销售部','广州'),(40,'财务部','深圳'

2020-10-28 21:43:58 108

原创 MySQL多表&事物_多表查询

概述:查询语法:select列名列表from表名列表where…准备sql# 创建部门表CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20)); INSERT INTO dept (NAME) VALUES ('开发部'),('市场部'),('财务部');# 创建员工表CREATE TABLE emp ( id INT PRIMARY KEY AUTO_INCREMENT,..

2020-10-28 11:20:32 84

原创 数据库的备份和还原

1. 命令行:* 语法:* 备份: mysqldump -u用户名 -p密码 数据库名称 > 保存的路径* 还原:1. 登录数据库2. 创建数据库3. 使用数据库4. 执行文件。source 文件路径2. 图形化工具:

2020-10-27 19:58:17 112

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除