java技术分享
Donne_CN
乾坤未定,你我皆是黑马
展开
-
Apache Derby的内嵌开发模式
Derby数据库是一个纯用Java实现的内存数据库,属于Apache的一个开源项目。由于是用Java实现的,所以可以在任何平台上运行;另外一个特点是体积小,免安装,只需要几个小jar包就可以运行了。Derby数据库有两种运行模式:1) 内嵌模式。Derby数据库与应用程序共享同一个JVM,通常由应用程序负责启动和停止,对除启动它的应用程序外的其它应用程序不可见,即其它应用程序不可访问它;2) 网络模式。Derby数据库独占一个JVM,做为服务器上的一个独立进程运行。在这种模式下,允许有多个应用程序来访转载 2021-12-29 11:58:25 · 548 阅读 · 0 评论 -
开启MySQL远程访问权限 允许远程连接
开启MySQL远程访问权限 允许远程连接1、登陆mysql数据库 mysql -u root -p查看user表mysql> use mysql;Database changedmysql> select host,user,password from user;+--------------+------+-------------------------------------------+| host | user | password原创 2021-12-28 21:08:53 · 34757 阅读 · 0 评论 -
关于springBoot中的@Cacheable做缓存的参数解析
参数 – value : 缓存的名称,在 spring 配置文件中定义,必须指定至少一个 参数 – key : 缓存的 key,可以为空,如果指定要按照 SpEL 表达式编写,如果不指定,则缺省按照方法的所有参数进行组合参数 – condition : 缓存的条件,可以为空,使用 SpEL 表达式编写,返回 true 或者 false,只有为 true 才进行缓存想必你一定想知道SpEL 表达式是什么,下面我们简单的介绍一下:SpEL 表达式:Spring 3引入了Spring表达式语言(原创 2021-12-21 21:03:02 · 3178 阅读 · 0 评论 -
Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map ‘xxxxxxx‘ method
Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'xxxxxxxxx' method 使用翻译软件翻译过来就是java.lang.IllegalStateException:二义性映射。无法映射“xxxxxxx”方法意思就是有方法的访问路径重复了,idea无法去映射这些个方法,可以试试指定路径的访问方式,比如post或get等等方式访问或者可以修改其中一个的路径也能解决...原创 2021-12-19 15:44:21 · 1285 阅读 · 0 评论 -
虚拟机可视化工具CentOS乱码
问题发现在验证防火墙是否关闭时,发现提示信息出现了乱码,情况如下图所示:回顾之前的系统配置过程,推测是中文问题导致的乱码。安装过程回顾之前在虚拟机上安装CentOS系统时,使用了echo LANG=“zh_CN.gbk” > /etc/sysconfig/i18in命令更改语言为中文。但是重启后发现系统的图形化界面空空如也,再次重启后通过用户登录界面下下方的语言选择栏(如下图)改成英文后就出现了部分提示信息乱码的问题(当时语言栏中只有上面两个,最后一个汉语(中国)是修改成功后的选项)。问题解原创 2021-12-01 18:06:51 · 235 阅读 · 0 评论 -
关于System.out::println中 :: 的原理
List<String> list = new ArrayList<>();list.add("a");list.add("b");list.add("c");list.forEach(System.out::println);其中list.forEach可以改写成以下代码:for(int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}或者等于以下代码:for(String s原创 2021-11-30 22:07:15 · 357 阅读 · 0 评论 -
This application has no explicit mapping for /error, so you are seeing this as a fallback.
This application has no explicit mapping for /error, so you are seeing this as a fallback.此应用程序没有明确的 /error 映射,因此您将其视为后备。在检查代码时发现是yml配置文件中连接池定义出错了错误的**正确的...原创 2021-11-30 17:49:03 · 1898 阅读 · 0 评论 -
java.lang.IllegalStateException: Cannot get a text value from a numeric cell 解决办法
Excel数据Cell有不同的类型,当我们试图从一个数字类型的Cell(表格中)读取出一个字符串时,就会出现Cannot get a text value from a numeric cell的异常错误解决办法:我们在表中带数字的单元格内加上 ` 就行了...原创 2021-11-27 16:50:25 · 846 阅读 · 0 评论 -
关于MyBatis出现BindingException: Invalid bound statement (not found):文件路径 的解决办法
我们在MyBatis 框架的学习中经常会出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):com.Mr_Xu.dao.UserDao.findAccount译文:(org.apache.ibatis.binding.BindingException:无效的绑定语句(未找到):com.Mr_Xu.dao.UserDao.findAccount)的异常如下图:很明显,翻译过来之后就是未找到x原创 2021-11-05 17:30:05 · 306 阅读 · 0 评论 -
MyBatis日志的使用
1.概述 我们在使用MyBatis的时候, 其实MyBatis框架会打印一些必要的日志信息, 在开发阶段这些日志信息对我们分析问题,理解代码的执行是特别有帮助的; 包括项目上线之后,我们也可以收集项目的错误日志到文件里面去; 所有我们采用专门的日志系统来处理.简单来说:日志就是记录程序运行过程信息,项目上线之后,使用日志可以将项目运行错误信息记录到一个日志文件中,方便排查解决。2.步骤导入坐标拷贝日志配置文件到项目导入坐标:<!-- log start --><!原创 2021-11-03 18:11:00 · 679 阅读 · 0 评论 -
使用MyBatis实现CRUD
MyBatis介绍: mybatis 是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。 mybatis 通过xml 或注解的方式将执行的各种statement 配置起来,并通过java 对象和statement 中sql的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql并将结果映射为 java 对象并返回。采用 ORM (原创 2021-11-03 17:38:05 · 154 阅读 · 0 评论 -
关于Maven配置文件中的groupId和artifactId
groupId和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。 groupId一般分为多个段,这里我只说两段,第一段为域名,第二段为公司名称。域名又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域名是org(因为tomcat是apache旗下的非营利项目),公司名称是apa原创 2021-11-02 14:41:32 · 1098 阅读 · 0 评论 -
Java 注解(Annotation)
Java 注解(Annotation)分类 编程技术Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容 。 当然它也支持自定义 Java 标注。网上很多关于 Java Annotation 的文章,看得人眼花缭乱。Java转载 2021-10-26 20:39:18 · 125 阅读 · 0 评论 -
Servlet和filtr的区别
servlet和filter的区别主要从如下四个方面介绍他们之间的区别: 1.概念。 2.生命周期。 3.职责。 4.执行过程。一, 概念1、servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页面,它工作在客户端请求与服务器响应的中间层。 2、filter:filter是一个可以复用的代码片段,可以用来转换HTTP请求、响原创 2021-10-25 10:45:11 · 583 阅读 · 0 评论 -
DBUtils的介绍和基本使用
DBUtils的概述DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能DBUtils的常用API介绍创建QueryRunner对象的APIpublic QueryRunner(DataSource ds) ,提供数据源(连接池),DBUtils底层自动维护连接connectionQueryRunner执行增删改的SQL语句的APIint update(String sql, Object...原创 2021-10-16 11:27:13 · 339 阅读 · 0 评论 -
JDBC —— DRUID连接池
DRUID介绍 Druid是阿里巴巴开发的号称为监控而生的数据库连接池,Druid是国内目前最好的数据库连接池。在功能、性能、扩展性方面,都超过其他数据库连接池。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。如:一年一度的双十一活动,每年春运的抢火车票。Druid的下载地址:https://github.com/alibaba/druid 或者 maven仓库DRUID连接池使用的jar包:druid-1.0.9.jar定义User标准类代码示原创 2021-10-16 11:08:34 · 368 阅读 · 0 评论 -
JDBC ---> c3p0连接池
C3P0开源免费的连接池!目前使用它的开源项目有:Spring、Hibernate等。使用第三方工具需要导入jar包,c3p0使用时还需要添加配置文件c3p0-config.xml.使用C3P0需要添加c3p0-0.9.1.2.jar通过硬编码来编写创建C3P0连接池对象设置连接池参数获得连接预编译sql语句,得到预编译对象设置sql语句参数执行sql语句,处理结果释放资源package com.c3p0;import bean.JDBCUtils;import com..原创 2021-10-16 10:59:08 · 171 阅读 · 0 评论 -
MySql基础 --- DQL操作表记录
废话不多说,直接上代码 ,都在里头-- -------------------查询-------------------- 基本查询 ---> 语法:-- 查询所有的列:select * from 表名;select * FROM product;-- 查询某张表特定列 :select 列名,列名,...from 表名;select pname,num from product;-- 去重查询:select distinct 列名 from 表名;select distinct原创 2021-10-11 17:27:39 · 103 阅读 · 0 评论 -
MySql基础 --- DDL操作表
DDL操作表Data Definition Language (DDL数据定义语言) 如:操作数据库,操作表创建表语法:create table 表名( 字段名 字段类型 [约束], 字段名 字段类型 [约束], ........ 字段名 字段类型 [约束]);-- 注意: 小括号中最后定义的字段后面不要加逗号MySql,数据类型概览图:整型一般使用int 或者bigint浮点/双精度型默认的范围 : float或者double指定范围 :float(M,D原创 2021-10-10 20:36:57 · 167 阅读 · 0 评论 -
jdk8新特性 --- Lambda 、Stream流 、方法引用
Lambda表达式格式: (参数列表)->{代码块}前提: 函数式接口使用套路:分析是否可以使用Lambda表达式如果可以使用,就直接写上()->{}填充小括号中的内容–>和函数式接口中抽象方法的形参列表一致填充大括号中的内容–>实现函数式接口抽象方法的方法体一致省略规则:小括号中参数类型可以省略小括号中如果只有一个参数,那么小括号也可以省略大括号中如果只有一条语句,那么大括号,分号,return都可以省略(一起省略)方法引用:判断是否可以使用原创 2021-10-08 17:03:19 · 144 阅读 · 0 评论 -
java中的反射,练习
通过反射获取类的成员方法Class类中与Method相关的方法Method getDeclaredMethod(String name,Class… args);----->推荐根据方法名和参数类型获得对应的构造方法对象,包括public、protected、(默认)、private的参数1:要获取的方法的方法名参数2:要获取的方法的形参类型的Class对象Method[] getDeclaredMethods();----->推荐获得类中的所有成员方法对象,返回数组,只原创 2021-10-08 15:15:00 · 207 阅读 · 0 评论 -
关于java中的动态代理,习题 --- 对Collection接口进行代理,增强remove方法
对Collection接口进行代理:以前的remove(Object obj)方法是删除集合中第一次出现的元素(比如集合中有多个“abc”,调用remove(“abc”)后只会删除一个元素)。代理后,要求在调用remove(Object obj)方法后,能够删除集合中所有匹配的元素。【动态代理】废话不多说,上代码:package com.DynamicAgent;import java.lang.reflect.InvocationHandler;import java.lang.reflect.原创 2021-10-07 19:50:07 · 250 阅读 · 0 评论 -
多例设计模式
多例设计模式的作用**多例模式:**是一种常用的软件设计模式。通过多例模式可以保证系统中,应用该模式的类有固定数量的对象产生。说白了,多例设计模式就是保证使用该模式的类会有固定数量的该类对象产生实现步骤1.创建一个类, 将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。2.在该类内部产生固定数量的对象3.提供一个静态方法来随机获取一个该类的对象实现代码 – 通用模式package com.MultipleDesignModes.GeneralMode;import原创 2021-10-06 22:13:43 · 204 阅读 · 1 评论 -
关于java中的单例模式 -- 饿汉式 -- 懒汉式
单例设计模式的作用单例模式,是一种常用的软件设计模式。通过单例模式可以保证系统中,应用该模式的这个类只有一个实例。即一个类只有一个对象实例单例设计模式实现步骤1. 将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。2. 在该类内部创建一个唯一的对象3. 定义一个静态方法返回这个唯一对象。单例设计模式的类型根据实例化对象的时机单例设计模式又分为以下两种:1. 饿汉单例设计模式...原创 2021-10-06 21:29:01 · 186 阅读 · 0 评论 -
关于java中的动态代理
**概述:** 动态代理就是在程序运行期间,直接通过反射生成一个代理对象,代理对象所属的类是不需要存在的 **动态代理的获取**:jdk提供一个Proxy类可以直接给实现接口类的对象直接生成代理对象 Proxy.newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h)生成一个代理对象 参数1:ClassLoader loader 被代理对象的类加载器 参数2:Class<?原创 2021-10-06 17:02:53 · 124 阅读 · 0 评论