java
WilliamCode
这个作者很懒,什么都没留下…
展开
-
【设计模式】
软件设计的6大基本原则SOLID1、Single单一性原则一个类只负责一类方法的封装,一个方法只负责单一的功能的封装。该原则是高内聚,低耦合的基础。高内聚指功能相同的方法内聚在同一个类中,共同完成一个功能的代码块聚合在一个方法中;低耦合指一个类之间的方法尽量少的相互调用,修改一个方法不会或者很少的影响另外一个方法。2、Open&Close 开闭原则对扩展开放,对修改关闭。由于旧代码已经经过测试和实践检验,不能对旧代码进行修改,而是只能在旧代码基础上进行扩展,添加新的代码,而非修改原创 2020-12-03 18:10:09 · 315 阅读 · 1 评论 -
Mybatis 自动类型转换
1、新建类xxxTypeHandler,实现TypeHandler接口 或 继承 BaseTypeHandler类package com.william.typehandler;import com.william.mapper.IdCardType;import org.apache.ibatis.type.JdbcType;import org.apache.ibatis.type.TypeHandler;import java.sql.CallableStatement;impor原创 2020-10-20 11:57:43 · 2159 阅读 · 1 评论 -
Mybatis 插入并获取自增主键
1、编写select<insert id="insertUserTestAutoIncrement" parameterType="Student" useGeneratedKeys="true" keyProperty="id"> insert into students(password,age,salary,name) values (#{st.password}, #{st.age}, #{st.salary}, #{st.name}); </insert>原创 2020-10-20 11:00:12 · 571 阅读 · 0 评论 -
Mybatis联合查询
一对一联合查询查询student表和pwd表的一对一1、写resultMap<resultMap id="OneToOneResultMap" type="Student"> <id column="id" jdbcType="INTEGER" property="id" /> <result column="password" jdbcType="VARCHAR" property="password" /> <result原创 2020-10-19 20:12:07 · 321 阅读 · 0 评论 -
Mybatis批量插入方式比较
效率:普通for循环 < BATCH方式获取mapper < foreach标签拼接sql主函数代码:package com.william;import com.william.mapper.Student;import com.william.mapper.StudentExample;import com.william.mapper.StudentMapper;import lombok.Data;import lombok.extern.slf4j.Slf4j;原创 2020-10-19 19:25:14 · 165 阅读 · 0 评论 -
使用MybatisGenerator
1、向pom.xml添加依赖项<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.22</version></dependency><dependency>原创 2020-10-19 13:53:07 · 169 阅读 · 0 评论 -
Java多线程的3种实现方法:Thread,Runnable,Callable
1、继承Thread类,重写run方法public class Main { static public void main(String[] args){ Thread thread = new Thread(){ public void run(){ System.out.println("正在执行的线程名:" + Thread.currentThread().getName()); }原创 2020-10-18 20:59:00 · 256 阅读 · 0 评论 -
Mysql安装
1、下载安装包(8.0.19版本):链接:https://pan.baidu.com/s/1vORXjeap7US2bdWDZA6pNQ提取码:cu792、解压到d盘的任意目录下,但是要知道解压到了哪。比如解压到D:\MySQL,得到新的文件夹mysql-8.0.19-winx643、将D:\MySQL\mysql-8.0.19-winx64\bin,加入系统环境变量PATH4...原创 2020-03-03 12:57:34 · 235 阅读 · 0 评论 -
【Java】基于敏捷开发的简易Web服务器(附下载)
这是一款简易的Web服务器,使用JavaSE的基本工具,实现了主页、404页面、登录、注册、动态页面等最原始的功能。github地址:https://github.com/541380000/Easy-Web-Server-Java 通过敏捷开发的方式,14个小版本快速更迭,能够看到代码的快速变化与结构调整。 项目实现的具体功能有:1、对Http请求的解...原创 2020-02-23 21:20:07 · 419 阅读 · 0 评论 -
【Java课程设计】仿QQ多人聊天室(基于TCP协议与JavaSwing)附下载
仿QQ多人聊天室下载地址:链接:https://pan.baidu.com/s/1dLFjSxwTA4gL5lI0B4UGuQ提取码:2qs0有两个项目,分别是服务器chatterServer和客户端chatter,先开启服务器,再开启客户端,默认8888端口。先上图(回环测试,即自己和自己聊天):实现的主要功能:1、一对一聊天:连接到服务器的所有客户端和另一个客户端“...原创 2020-02-17 18:32:22 · 3107 阅读 · 0 评论 -
算法与数据结构【Java实现】:二叉查找树
链表能够很方便的存储数据,但是,数据的组织只能是线性的,不能有层次的组织数据,且查找元素需要线性查找,复杂度O(n)。 二叉查找树是一种按照排序组织数据的有层次的方式它的特点是:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;即:对于任何一个子树,左子树所有结点值小于根...原创 2020-02-13 21:40:17 · 387 阅读 · 0 评论 -
Java飞机大战------纯基础语法实现【附下载】
飞机大战是一项能够使用到绝大部分Java基础语法和面向对象知识的项目。本项目使用到的知识有:1、基础语法,分支,循环2、基本数据类型3、对象的封装、继承、多态4、接口5、Java的窗口类库先放一张成品图。很丑,但是不想做美工了,毕竟是一个练习性质的小项目。下面是系统架构:分成了四个包下面是包的结构和具体链接:包名 用途 链接...原创 2019-12-31 20:55:13 · 546 阅读 · 0 评论 -
Java飞机大战【4】游戏的主要类
这是飞机大战游戏的基础工具类代码及解释,其他的也在博客中游戏中上层的主要类,统一放在包com.airbattle.game下游戏的主要逻辑在这个包里实现类名 用途 Drawer 画图,用画笔Graphics,在画板上指定位置处画出img图像,这是静态方法 Property 关于游戏配置的所有常量,包括:设置背景、各个角色的图片,飞机移动速度、飞机开火速度、飞机...原创 2019-12-31 20:26:56 · 811 阅读 · 0 评论 -
Java飞机大战【3】游戏基本类
这是飞机大战游戏的基础工具类代码及解释,其他的也在博客中基本类有三类,统一放在包com.airbattle.gameobject下类 用途 Aircraft 飞行器,游戏中所有的飞行物(英雄机和敌机)都继承该类 Bullet 子弹类,主要是子弹的构造和移动 HostilePlane 敌军飞机,继承了飞行器类 这些类也被写残了,因为我的...原创 2019-12-31 20:02:45 · 852 阅读 · 0 评论 -
Java飞机大战【2】游戏接口
这是飞机大战游戏的基础工具类代码及解释,其他的也在博客中游戏接口有三个,统一放在com.airbattle.gameinterface包下接口 用途 GameObjectInterface 游戏元素接口,每个游戏元素都必须实现。后来被抛弃了,因为我代码水平不够 最后从瀑布模型转化成了迅捷开发 FlyingObjectInterface 飞行...原创 2019-12-31 19:51:43 · 632 阅读 · 1 评论 -
Java打飞机游戏【1】基础工具类
这是飞机大战游戏的基础工具类代码及解释,其他的也在博客中基础工具类包含三各类,统一放在com.airbattle.gameproperty包下类名 用途 Image 存放游戏元素的图像、图像长宽 Position 位置类,包含x,y坐标 Rect 矩形类,游戏元素占用的矩形框的坐标,包含左上角的坐标(x1,y1),右下角的坐标(x...原创 2019-12-31 19:45:46 · 306 阅读 · 0 评论 -
Java学习中被忽略的知识点与技巧(1)
JVM:java virtual machineJRE:java runtime environment = JVM + java系统类库,运行java程序JDK:java development kit = JRE + 编译/运行等命令工具运行java的最小环境:JRE开发java的最小环境:JDK环境变量: JAVA_HOME: Path for jdk CLASS...原创 2019-12-28 15:40:33 · 208 阅读 · 0 评论 -
Java学习笔记2------对象与类
学习《Java核心数据》(原书第十版)的笔记------第四章1、类是构造对象的模板或蓝图2、封装(encapsulation)亦称数据隐藏,是面向对象的重要概念3、对象中数据叫做实例域,操纵数据的过程称为方法4、实现封装的关键在于绝对不能让其他类访问本类的实例域5、类和类之间最常见的关系有:聚合(has-a),依赖(using-a),继承(is-a)6、使用构造器获得类的...原创 2019-12-09 21:11:17 · 155 阅读 · 0 评论 -
【Java】打印本月日历
package mainpackage;import java.util.*;import java.time.*;/** * 本类用于打印本月的日历 */public class Demo { static public void main(String[] args) { //获取当前时间 LocalDate now = LocalDate.now(); //...原创 2019-12-09 19:12:18 · 353 阅读 · 0 评论 -
Java学习笔记1------基本程序设计结构
学习《Java核心数据》(原书第十版)的笔记------第三章1、Java区分大小写2、包名采用全部小写;项目名称首字母小写;类名采用驼峰命名法,每个单词的首字母大写;对象名及变量名使用小驼峰命名法3、源代码的名字必须与类名相同4、main方法必须声明为public方法5、java中的所有代码都放在类中6、三种注释的写法 行注释://statement ...原创 2019-12-07 17:25:50 · 253 阅读 · 0 评论 -
JAVA模拟学生选课系统(附下载链接)
大家好,我是WilliamCode,继高中C++的lowB学习之后,大一的我来学Java了。其实都是为了学Android才来学Java的。自己写了一个java模拟选课的作业,写一篇博客分享一下。本篇文章为个人作品,转载请注明出处,并注明:WilliamCode真帅。(emmm,开个玩笑)不说了,直接上代码。(下面有代码相关说明,以及我在写这段代码之后觉得的注意事项和一些感受)**********原创 2017-10-21 16:48:26 · 16897 阅读 · 1 评论