Java
是但啦求其
Just don't let me down.
展开
-
SpringBoot集成邮件发送——springboot原生邮件类库
使用SpringBoot原生邮件类库,进行SpringBoot集成邮件发送。1.新建项目新建SpringBoot项目添加maven依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</arti原创 2021-06-11 15:59:33 · 935 阅读 · 0 评论 -
SpringBoot集成邮件发送——oh-my-email
SpringBoot集成邮件发送,选取oh-my-email这个库。GitHub链接:https://github.com/biezhi/oh-my-emailGitHub上有作者的详细步骤,很详细,跟着步骤走,就能实现功能。这里做一下笔记记录。1.新建项目新建SpringBoot项目添加maven依赖<!--添加on my email 依赖--><dependency> <groupId>io.github.biezhi</groupId&g原创 2021-06-11 15:36:54 · 2127 阅读 · 2 评论 -
SpringBoot集成MQTT
1.新建SpringBoot项目新建一个基于Maven工程构建的SpringBoot项目(PS:记得添加lombok依赖)2.添加Maven依赖 <!--mqtt依赖--> <dependency> <groupId>org.springframework.integration</groupId> <artifactId>spring-integration-mqtt</artifactId></dep原创 2021-06-06 22:29:06 · 507 阅读 · 1 评论 -
log4j.properties文档记录
############## 输出到控制台############## log4j.rootLogger日志输出类别和级别:只输出不低于该级别的日志信息DEBUG < INFO < WARN < ERROR < FATAL# WARN:日志级别 CONSOLE:输出位置自己定义的一个名字 logfile:输出位置自己定义的一个名字log4j.rootLogger=WARN,CONSOLE,logfile# 配置CONSOLE输出到控制台log4j.原创 2021-02-13 19:44:06 · 108 阅读 · 0 评论 -
SprinBoot打包war包,部署到外部tomcat
SpringBoot有内嵌的tomcat服务器,但如果我们要对tomcat服务器进行修改配置,则需要将项目打包成war包,部署到外部的tomcat服务器。1.修改打包形式 <packaging>war</packaging>2. 移除嵌入式tomcat插件、添加外部tomcat插件移除嵌入式tomcat插件<dependency> <groupId>org.springframework.boot</groupId> <ar原创 2020-12-22 16:23:56 · 136 阅读 · 0 评论 -
Mybatis框架中#{}与${}的区别
#{}表示一个占位符号 通过#{}可以实现 preparedStatement 向占位符中设置值,自动进行 java 类型和 jdbc 类型转换, #{}可以有效防止 sql 注入。 #{}可以接收简单类型值或 pojo 属性值。 如果 parameterType 传输单个简单类型值,#{}括号中可以是 value 或其它名称。 ${}表示拼接 sql 串 通过${}可以将parameterType传入的内容拼接在sql中且不进行jdbc类型转换, ${}可以接收简单类型值或 po原创 2020-09-20 18:00:10 · 98 阅读 · 0 评论 -
BigDecimal的使用
1.BigDecimal的用处浮点数之间的等值判断,基本数据类型不能用==来比较,包装数据类型不能用equals来判断。实例:float a = 1.0f - 0.9f;float b = 0.9f - 0.8f;System.out.println(a);// 0.100000024System.out.println(b);// 0.099999964System.out.println(a == b);// false原因是因为精度丢失,解决方法是使用BigDecimal来定义浮点数原创 2020-07-15 11:35:35 · 225 阅读 · 0 评论 -
mybatis返回值(resultType)为一个类(JavaBean)时,需要注意的事项
今天把一个项目的数据库操作从JDBC改为mybatis框架,首先是登陆功能。利用username查询数据库时,发现可以查询得到记录,但是我返回的值居然是null,只有username是对的。配置文件是这样的: <select id="getEmpById" resultType="com.zzk.bean.User" databaseId="mysql"> select password from tb_user where username = #{id} </se原创 2020-06-23 23:49:05 · 1549 阅读 · 0 评论 -
Java获取用键盘输入常用的两种方法
通过ScannerScanner input = new Scanner(System.in);String s = input.nextLine();input.close();通过BufferedReaderBufferedReader input = new BufferedReader(new InputStreamReader(System.in));String s = input.readLine();原创 2020-07-12 17:20:15 · 235 阅读 · 0 评论 -
String StringBuffer 和 StringBuilder 和 String
可不可变String 类中使用 final 关键字修饰字符数组来保存字符串,private final char value[],所以String 对象是不可变的。StringBuilder 与 StringBuffer 都继承自 AbstractStringBuilder 类,在 AbstractStringBuilder 中也是使用字符数组保存字符串char[]value 但是没有用 final 关键字修饰,所以这两种对象都是可变的。StringBuilder 与 StringBuffer 的构造原创 2020-07-12 17:06:08 · 122 阅读 · 0 评论 -
面向对象三大特征
面向对象三大特征:封装:指把一个对象的状态信息(也就是属性)隐藏在对象内部,不允许外部对象直接访问对象的内部信息。但是可以提供一些可以被外界访问的方法来操作属性。继承:不同类型的对象,相互之间经常有一定数量的共同点。同时,每一个对象还定义了额外的特性使得他们与众不同。继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。通过使用继承,可以快速地创建新的类,可以提高代码的重用,程序的可维护性,节省大量创建新类的时间 ,提高我们原创 2020-07-12 16:51:15 · 247 阅读 · 0 评论 -
面向对象与面向过程的区别
面向过程:面向过程性能比面向对象高。因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考虑因素时,比如单片机、嵌入式开发、Linux等一般采用面向过程开发。但是面向过程没有面向对象易维护、易复用、易扩展。面向对象:面向对象易维护、易复用、易扩展。因为面向对象有封装、继承、多态性的特性,所以可以设计低耦合的系统,使系统更加灵活、更加易于维护。但是面向对象性能比面向过程低。...原创 2020-07-12 16:17:09 · 108 阅读 · 0 评论 -
Java中值调用和引用调用
按值调用表示方法接收的是调用者提供的值按引用调用表示方法接收的是调用者提供的变量地址。一个方法可以修改传递引用所对应的变量值,但不能改变传递值调用所对应的变量值。原创 2020-07-12 15:27:19 · 328 阅读 · 0 评论 -
Java中==与equals的不同之处
==:他的作用是判断两个对象的地址是否相等;即判断两个对象是否为同一个对象基本数据类型==比较的是值;引用数据类型==比较的是内存地址因为Java只有值传递,所以对于==而言,不管是比较基本数据类型,还是引用数据类型的变量,其最终的本质还是比较的是值,只是引用类型变量存的值是对象的地址。equals():作用是判断两个对象是否相等,但是他不能比较基本数据类型的变量。equals()方法存在于Object类中,而Object类是所有类的直接或间接父类。Object类equals()方法:publi原创 2020-07-11 11:45:26 · 119 阅读 · 0 评论 -
continue、break和return的区别
在循环结构中,当循环条件不满足或者循环次数达到要求时,循环会正常结束。但是,有时候可能需要在循环的过程中,当发送了某种条件之后,提前终止循环,这就需要用到下面几个关键词:1.continue:指跳出当前的这一次循环,继续下一次循环2.break:指跳出整个循环体,继续执行循环下面的语句return 用于跳出所在方法,结束该方法的运行。return一般有两种用法:1.return:直接用...原创 2020-07-11 11:26:12 · 164 阅读 · 0 评论 -
Java中length和length()的不同之处
length用于统计数组的长度;length()用于统计字符串的长度。原创 2020-07-09 21:47:12 · 176 阅读 · 0 评论 -
JDBC与Mybatis
JDBC编程步骤1、加载数据库驱动2、创建并获取数据库链接3、创建JDBC statement对象4、设置sql语句5、设置sql语句中的参数(使用preparedStatement)6、通过statement执行sql并获取结果7、对sql执行结果进行解析处理8、释放资源(resultSet、preparedstatement、connection)JDBC问题1、数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。2、Sql语句在代码中硬编码原创 2020-06-25 20:44:38 · 236 阅读 · 0 评论 -
mybatis查询数据库返回多条数据
JavaBean:public class ExpressMessage { private int id = 0;// 快递单编号 private String sendName = null;// 发件人姓名 private String sendTelephone = null;// 发件人电话 private String sendCompary = null;// 发件人公司 private String sendAddress = null;// 发件人地址 private Str原创 2020-06-25 14:47:20 · 3791 阅读 · 0 评论 -
Mybatis insert插入数据注意事项
org.apache.ibatis.binding.BindingException: Mapper method 'com… has an unsupported return type在server中调用dao层方法时,出现以下错误,但是sql执行修改数据成功,并没有回滚原创 2020-06-25 09:54:36 · 939 阅读 · 0 评论 -
JDK+JVM+JRE的关系
JDK+JRE+JVMJava三种核心机制:Java虚拟机(JVM)Java运行环境(即JRE)JDK:Java开发工具集JRE JDK JVM三者的关系Java的跨平台编译Java三种核心机制:Java虚拟机(JVM)代码安全性检测垃圾收集机制Java虚拟机(JVM)Java虚拟机读取并处理经编译过的平台无关的字节码class文件。Java编译器产生class文件,Java解释...原创 2020-04-28 10:02:14 · 401 阅读 · 0 评论 -
Java笔记之next() 与 nextLine() 区别
next方式接收:import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scan = new Scanner(System.in);// 从键盘接收数据 // next方式接收字符串 Sys...原创 2020-04-27 16:19:57 · 133 阅读 · 0 评论 -
Java关键字的类别和说明
类别 关键字 说明 访问控制 private 私有的 protected 受保护的 public 公共的 default 默认 ...原创 2020-04-27 11:22:44 · 180 阅读 · 0 评论 -
Object类的常见方法汇总
Object类是所有类的父类。public final native Class<?> getClass()//native方法,用于返回当前运行时对象的Class对象,使用了final关键字修饰,故不允许子类重写。public native int hashCode() //native方法,用于返回对象的哈希码,主要使用在哈希表中,比如JDK中的HashMap。public boolean equals(Object obj)//用于比较2个对象的内存地址是否相等,String类对原创 2020-08-19 16:06:40 · 189 阅读 · 0 评论