JDBC的理解和应用
参考
https://www.yuque.com/qingkongxiaguang/javaweb/lmkyt6
什么是JDBC?
JDBC是Java DataBase Connectivity的缩写,它是Java程序访问数据库的标准接口。
使用Java程序访问数据库时,Java代码并不是直接通过TCP连接去访问数据库,而是通过JDBC接口来访问,而JDBC接口则通过JDBC驱动来实现真正对数据库的访问。
JDBC接口 JDBC接口是Java标准库自带的
JDBC驱动 需要自己下载,可以maven下载,也可以导入jar包
使用JDBC的好处是:
各数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发;
Java程序编译期仅依赖java.sql包,不依赖具体数据库的jar包;
可随时替换底层数据库,访问数据库的Java代码基本不变。
建立一个简单的连接
需要先连接数据库
在数据库中添加对应的数据
import java.sql.*;public class Main { public static void main(String[] arg ...
数据库基本理论
Reference
md
数据库基础
Navicat 和 idea 连接数据库
多种数据库SQL和NoSQL
数据库模型
关系型数据库模型 现实世界特定场景下关系的抽象
ER图表示
数据库创建
数据库规范化
设计优良的数据库
第一范式
所有项必须是为不可分割的项
关系型数据库的最基本要求
第二范式
表中必须存在主键
第三范式
在满足第二范式的基础上,所有的属性都不传递依赖于主键
举例:
学生借书情况(借阅编号,学生学号,书籍编号,书籍名称,书籍作者)
实际上书籍编号依赖于借阅编号,而书籍名称和书籍作者依赖于书籍编号,因此存在传递依赖的情况,我们可以将书籍信息进行单独拆分为另一张表:
学生借书情况(借阅编号,学生学号,书籍编号)
书籍(书籍编号,书籍名称,书籍作者)
这样就消除了依赖
BCNF
BCNF作为第三范式的补充
举例
假设仓库管理关系表为StorehouseManage(仓库ID, 存储物品ID, 管理员ID, 数量),且有一个管理员只在一个仓库工作;一个仓库可以存储多种物品。 ...
Java异常处理
在很多场景都有异常处理,python、C++、java中都存在,但是一直不理解异常处理的一些深层逻辑,在这里简要学习一下
Reference
runoob https://www.runoob.com/java/java-exceptions.html
廖雪峰 https://www.liaoxuefeng.com/wiki/1252599548343744/1264734349295520
什么是异常处理
简单来说就是尽可能避免程序不正常运行的技术
我们可以自己写一个简单的swtich来判断接受的正确或错误的错误码,这个错误码通常是编程语言和API固定的
int code = processFile("C:\\test.txt");if (code == 0) { // ok:} else { // error: switch (code) { case 1: // file not found: case 2: // no read permission: default: // unknow ...
查找算法(Python)
Reference
分块查找 http://data.biancheng.net/view/123.html
三分查找 https://codeantenna.com/a/peoXReNxrJ
插值查找 https://zhuanlan.zhihu.com/p/133535431
顺序查找
# 顺序查找def SequentialSearch(x, numList): count = 0 for i in range(len(numList)): count += 1 if x == numList[i]: return i, count return 0, 0 # 没有找到识别
折半/二分查找
# 非递归折半查找,应该针对顺序def HalfSearch(x, numList): print(1) left = 0 right = len(numList) - 1 count = 0 while right >= left: mid = int((righ ...
OOD/设计模式(信息系统设计)
Reference
老师的设计模式文章 https://zhuanlan.zhihu.com/p/141390685
控制反转
实验1 C、Scheme、java实现回调
C函数指针
//op.c文件typedef int (*How_op)( int, int); //函数指针的种类int op(int a, int b, How_op how_op){ // call using function pointer return 2* how_op (a, b); //2*运算暗示op函数体可以很复杂} //ood.h文件//op.c用typedef int (*How_op)( int, int); //函数指针的种类int op(int a, int b, How_op how_op);//上层模块,main.c文件#include <stdio.h>#include "ood.h"int plus(int a,int b) { return a+b; } void testCallback(void){ int d =op(2, 5, ...
Scheme语言入门
参考
Racket IDE下载 https://racket-lang.org/
Scheme入门教程 https://deathking.github.io/yast-cn/
DrRacket使用 https://zhuanlan.zhihu.com/p/37056659
Racket和Scheme的关系
Racket可以说是Scheme的方言
用Scheme做计算
scheme语言做计算是比较方便的
(+ 1 2 3 4 5) ; 15 (- 10 3) ;→ 7(- 10 3 5) ;→ 2(* 2 3) ;→ 6(* 2 3 4) ;→ 24(/ 29 3) ;→ 29/3(/ 29 3 7) ;→ 29/21(/ 9 6) ;→ 3/2(exact->inexact (/ 29 3 7)) ;→ 1.380952380952381;函数exact->inexact 用于把分数转换为浮点数(quotient 7 3) ;→ 2 商数(modulo 7 3) ;→ 1 余数(sqrt 8) ; ...
SQL server问题总结
参考资料
学校老师推荐使用的是 2008版本的,但是实际安装过程麻烦不断,尝试了2019版本的体验不错
2019Developer 版和Express 版本都可 https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads
SSMS安装完成后会提示你下载,体验也很不错
sql server2008的各种安装问题
装2019版 2019Developer 版和Express 版本都可
https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads
PublishedDate类型的插入数据
INSERT INTO QXD_books(BookID,Name,Author,Publisher,PublishedDate,Price)VALUES('9787302528227','ASP.NET网络数据库','刘保顺','清华大学出版社','2019-6-1',59)
创建表
A typing training website
Reference
https://dazidazi.com/
I want to improve my typing skills. And I found a website to do this.
In beginning, my typing speed is about 130/per min, then I try to train for a few days which is improving a lot.
I can type about 160/per min now when I finish all this website’s practice. It’s a lot of improvements.
And I want to introduce it to you.
Learning resource collection
前言
收集一些有用的资源,方便自己学习,有一个游泳up的简介说的很好,共勉
看过没练过,等于没看过
No Tidy up
Smalltalk
bytecode Python字节码抽象 Python虚拟机的栈
Why’s THE Design ?
Notion
校招面试不完全指南
Hedgehog Lab
PyPy
Xshell学生版
阿里云服务器
从零开始打造一台简易计算机 https://xiaogd.net/book/spcp/
Blogger
laike9m
莫烦Python
laixintao
肖国栋的i自留地
Podcast
捕蛇者说
teahour
ggtalk
Grammar Girl
This American Life
The Change Log
Tiny4Voice
Project
Django搭建个人博客:在Windows中搭建开发环境
Passages
The XY Problem
为什么用 Numpy 还是慢, 你用对了吗?
Why Python is Slow: Looking Under the Hood
A*启发式搜索 ...
Django
Reference
https://www.dusaiphoto.com/article/11/
I always forget markdown grammar. https://guo365.github.io/study/Markdown.html
Environment
Python3
venv
# create an env in catalogue at presentE:\django_project> python -m venv env # into envenv\Scripts\activate.bat
Django Framework
Model: the layer to store data or data definition
Template: the layer of service logic catalogue
Views: the layer of expression, A collection of web pages with the same functionality and template ...