- 博客(27)
- 收藏
- 关注
原创 IDEA创建Maven项目报错:unable to import maven project see logs for details
错误信息在IDEA中创建了一个Maven项目,选择了自动加载依赖,但是一直报错unable to import maven project see logs for details查看日志记录,显示:1) No implementation for org.apache.maven.model.path.PathTranslator was bound. while locating ...
2020-02-18 12:20:32
511
原创 Java网络编程--TCP+多线程 实现聊天室群聊功能
Java网络编程–TCP+多线程 实现聊天室群聊功能功能描述:简单的聊天室,可以有多个用户同时加入聊天,每个用户可以随时发送消息,其他用户都会收到该用户的信息(显示发送者姓名)分析:1.采用TCP实现,服务端需要完成的任务: (1)为每个加入聊天室的用户创建一个服务线程,该线程用于接收该用户的信息并发送给其他用户 (2)用户加入和退出聊天室时给出相应的提示信息 (3)用户退出时...
2019-11-18 22:01:24
1798
原创 Java网络编程--TCP基本交互步骤
Java网络编程–TCP基本交互步骤关键类:(java.net包)ServerSocket:此类实现服务器套接字。服务器套接字等待请求通过网络传入。它基于该请求执行某些操作,然后可能向请求者返回结果。Socket:此类实现客户端套接字服务器端基本流程:1).创建ServerSocket对象,指定服务器的监听端口2).调用accept方法,阻塞式监听,返回Socket流套接字对象3)...
2019-11-18 21:15:47
556
原创 Java网络编程--UDP实现双用户通信(多线程)
Java网络编程–UDP实现双用户通信(多线程)功能:使用UDP实现两个用户的持续通信分析:1.双方都是既要发送信息也要接收信息,因此需要使用多线程2.双方接收和发送的操作是一样的,可以单独写成类并实现 Runnable 接口3.双方都需要多次发送和接收,可用while(true)来循环接收/发送数据4.以发送了信息“bye”为对话结束(跳出while循环)的条件,但是一方发送“bye...
2019-11-18 20:49:19
1019
2
原创 Java网络编程--UDP基本交互步骤
Java网络编程–UDP基本交互步骤两个关键类:(java.net)DatagramPacket:数据报包,通过UDP协议发送的数据要在发送前包装成该数据报包DatagramSocket:表示用来发送和接受数据报包的套接字发送方步骤:1)创建DatagramSocket对象,指定发送方使用的发送端口号2)创建要发送的内容3)将要发送的内容转换成 字节数组4)创建DatagramPa...
2019-11-18 20:15:34
315
原创 MyBatis-MBG逆向工程
MyBatis-MBG逆向工程概念:Mybatis Generator是一个功能强大的代码生成器,可以生成的代码包含了数据库表对应的实体类、Mapper接口类、Mapper XML映射文件和Example对象等,这些代码文件中几乎包含了全部的单表操作方法,使用MBG可以极大地方便我们使用MyBatis,减少很多重复工作。步骤:1)导入jar包:mybatis-generator-core...
2019-11-06 21:36:16
287
原创 MyBatis-整合第三方缓存(Ehcache)
MyBatis-整合第三方缓存(Ehcache)步骤:(github上有整合相关的包,也有相关的文档)1.导入第三方缓存的核心包ehcache-core-2.6.8.jar以及两个日志包:slf4j-api-1.6.1.jar和slf4j-log4j12-1.6.2.jar2.导入第三方缓存的适配包:在官网https://github.com/mybatis上有mybatis与ehcac...
2019-11-06 21:33:57
409
原创 MyBatis-缓存机制
MyBatis-缓存机制MyBatis提供了两级的缓存机制一级缓存:(本地缓存)SqlSession级别的缓存一个Map,与数据库同一次会话期间查询到的数据会放在本地缓存中,如果以后需要获取相同的数据,直接从缓存中拿,没必要再去查询数据库一级缓存是一直开启的一级缓存失效情况(没有使用到当前一级缓存的情况,效果就是还需要向数据库发送请求)1.sqlSession改变2.sqlSessi...
2019-11-06 21:30:54
210
原创 MyBatis-内置参数
MyBatis-内置参数MyBatis默认有两个内置参数:_parameter:代表整个参数单个参数:_parameter就代表这个参数多个参数:参数会被封装成一个map,_parameter就代表这个map__databaseId:如果配置了DatabaseIdProvider标签,_databaseId就是代表当前数据库的别名映射文件:<?xml version="1.0"...
2019-11-06 21:26:43
762
原创 MyBatis-批量操作(MySQL)
MyBatis-批量操作(MySQL)需求:批量添加员工映射文件:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><...
2019-11-06 21:25:14
338
原创 MyBatis-动态SQL
MyBatis-动态SQL• if:判断• choose (when, otherwise):分支选择• trim:截取 (where封装查询条件, set封装修改条件)• foreach:遍历,用于批量操作映射文件:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis....
2019-11-06 21:23:15
190
原创 MyBatis-映射文件07-discriminator标签
discriminator鉴别器:mybatis可以使用该鉴别器来判断某列的值,然后根据判断的结果改变封装行为 (类似于switch-case)
2019-11-02 15:28:13
386
原创 设计模式---单例模式
所谓单例模式,就是采取一定的方法来保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。例如:Hibernate的SessionFactory,java.lang.Runtime(饿汉式)
2019-11-01 16:47:05
142
原创 设计模式---七大设计原则
设计模式—七大设计原则为什么要有设计模式?让软件具有更好的可维护性、可扩展性、重用性、灵活性、可读性,高内聚低耦合单一职责原则思想:对类来说,一个类应该只负责一项职责。如果类A负责两个不同的职责:职责1和职责2.当职责1需求变更而改变A时,有可能造成职责2执行错误,所以需要将类A的粒度分解为类A1、A2P.S.1.目的主要是降低类的复杂度,达到一个类只负责一个职责2.可以提高可读性、...
2019-11-01 16:42:29
184
原创 MyBatis-映射文件06-多表联合查询
使用<resultMap>标签中的<association>标签和<collection>标签来处理多表联合查询时查询得到的字段值与JavaBean成员变量的对应问题,即多表联合查询时的封装规则
2019-10-31 22:51:34
502
原创 MyBatis-映射文件05-resultMap自定义结果封装规则
MyBatis-映射文件05-resultMap自定义结果封装规则mapper.xml文件中标签下的标签可以自定义查询结果的封装规则,具体用法见代码注释示例:映射文件:EmployeeMapper.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD...
2019-10-31 18:31:43
528
原创 MyBatis-映射文件04-查询返回不同类型的结果
MyBatis-映射文件04-查询返回不同类型的结果1.返回一个JavaBean对象接口方法:public Employee getEmpById(Integer id);sql映射:<select id="getEmpById" resultType="com.mybatis.bean.Employee"> select id,last_name,email,gende...
2019-10-24 20:38:10
661
原创 MyBatis-映射文件03-两种取值方法(# or $)
MyBatis-映射文件03-两种取值方法(# or $)#{}:可以获取map中的值或者POJO对象属性的值${}:可以获取map中的值或者POJO对象属性的值区别:#{}:是以预编译的形式设置到sql语句中;PreparedStatement,可以防止sql注入${}:取出的值直接拼接在sql语句中;会有安全问题示例:sql:select id,last_name,email,...
2019-10-24 20:34:04
290
原创 MyBatis-映射文件02-参数处理
MyBatis-映射文件02-参数处理注:本文的完整代码,请参考https://blog.csdn.net/Eileen___/article/details/102692887,这里接口方法、sql映射只写该例子中涉及到的部分,Test方法只写try块内的部分1.单个参数 sql语句只需要单个参数时,MyBatis不会对传递过去的参数做特殊处理,直接使用 #{参数名} 即可在生气了语句中...
2019-10-24 20:30:59
226
原创 MyBatis-映射文件01-增删改查的实现
MyBatis-映射文件-增删改查的实现数据库名:mybatis(mysql数据库)表名:tbl_employeeidlast_nameemailgender1TomTom.com12TinaTina.com0目录结构:JavaBean:Employee.javapackage bean;public class Employee {...
2019-10-22 23:16:28
328
原创 Mybatis-config全局配置文件详解
Mybatis-config全局配置文件详解dtd约束文件全局配置文件的约束文件:mybatis-3-config.dtdsql映射文件的约束文件:mybatis-3-mapper.dtd这两个约束文件存在于mybatis-3.4.1.jar的org.apache.ibatis.builder.xml路径下1.如何在Eclipse中引入约束文件: (1)将需要引入的dtd文件从myb...
2019-10-20 21:02:16
721
原创 JVM-垃圾回收机制
JVM-垃圾回收机制Java和C++最大的区别:Java拥有内存动态分配和垃圾自动回收机制自动内存管理=内存动态分配+垃圾回收机制垃圾回收(GC)要完成:1.哪些内存需要回收------应用GC的区域(Java堆和方法区)2.什么时候进行回收------如何判断对象已死?3.如何回收-------垃圾回收算法+垃圾收集器**程序计数栈、虚拟机栈、本地方法栈三个区域,线程创建时分配内存...
2019-10-20 18:55:16
165
原创 Mybatis-与数据库交互的基本步骤
Mybatis-与数据库交互的基本步骤不使用接口式编程的步骤:1.创建数据库并建表:使用mysql数据库2.创建对应的Java实体类:src/com/mybatis/bean/Employee.javapackage com.mybatis.bean;public class Employee { private Integer id; private String lastNa...
2019-10-18 20:29:37
2062
原创 JVM-内存区域划分
1.运行时数据区域:程序计数器虚拟机栈堆(heap)方法区本地方法栈(1)程序计数器: 当前线程所执行的字节码的行号指示器,字节码解释器在工作时通过改变该计数器的值来选取下一条要执行的字节码指令 所占内存区域很小(2)虚拟机栈(≈栈内存): 线程私有,生命周期与线程相同 Java方法执行的内存模型:每个方法被执行的时候都会同时创建一个栈帧,用于存储...
2019-10-12 14:17:31
170
原创 Java面试问答
HashMap和HashTable的异同相同:底层都是数组+链表实现的,都是键值对映射,key-value区别:产生时间不同:HashTable在java发布之初就存在,HashMap产生于JDK1.2,现在HashTable已基本废弃不用 继承的父类不同:HashTable继承自Dictionary类(已废弃),HashMap继承自AbstractMap类 提供的方法不同:Has...
2019-04-16 15:30:35
182
原创 《疯狂Java讲义》--琐碎知识点
Java最初是由Sun公司开发的,原名Oak,后Oracle收购了Sun公司 Java严格区分大小写 Java独立于任何平台,跨平台(C#只能局限于Windows平台) 编辑Java源代码可以使用任何无格式的文本编辑器(记事本、NotePad、EditPlus等),但写字板、Word等是有格式的编辑器,不能用于写Java源程序 Java程序必须以类的形式存在,类是Java程序的最小程序单位...
2019-04-16 10:03:33
202
原创 Java概述
目录Java三大体系JDK、JRE和JVMJava程序运行机制解释型语言和编译型语言javac命令和java命令垃圾回收机制(GC)IDE(集成开发环境)Java三大体系Java SE(Java platform,Standard edition):整个Java技术的核心和基础,允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。...
2019-04-16 09:24:13
149
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人