![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hares
破晓Dawn
这个作者很懒,什么都没留下…
展开
-
使用自己封装JDBC,且对数据库进行增删改查
使用自己封装JDBC,且对数据库进行增删改查用到的jar包:BeanUtils:用来获取或设置未知对象的值JDBCUtils:自己写的获取数据库连接,和关闭资源功能直接上代码package com.hare.basedao;import com.hare.jdbcutils.JDBCUtils;import org.apache.commons.beanutils.BeanUtils;import java.lang.reflect.InvocationTargetExce原创 2021-05-31 07:10:32 · 144 阅读 · 0 评论 -
一个没有判断的登录验证
Java JDBCJava下Connection下的PrepareStatement对象进行对数据库操作PrepareStatement和Statement的区别就是:PrepareStatement可以防止SQL注入,sql语句中使用的?占位,后进行赋值,更加安全,相比Statement也麻烦一些代码实现登录类package com.hare.login;import com.hare.utils.JDBCJutils;import java.sql.Connection原创 2021-05-27 08:38:17 · 54 阅读 · 0 评论 -
记录一哈,我的刚开始学习的JDBC
主方法类package com.hare.domain;import java.sql.*;import java.util.ArrayList;import java.util.List;public class EmpTestJDBC { public static void main(String[] args) { List<Emp> emps = new EmpTestJDBC().finaAll(); System.out.原创 2021-05-26 22:06:03 · 57 阅读 · 0 评论 -
自己写的一个java JDBC工具类
目录JDBC工具类,首先说下JDBC(java database connectivity):JDBC工具类实现的功能:实现过程JDBC工具类,首先说下JDBC(java database connectivity):简单来说就是使用java的语言去操作数据JDBC工具类实现的功能:1.注册驱动2.简化了连接数据库3.关闭资源实现过程1.先去下载mysql 的jar包,选择自己需要的版本之后,开始导包https://mvnrepository...原创 2021-05-26 20:13:48 · 232 阅读 · 0 评论 -
MySQL 多对多表的一个扩展
多表查询扩展只要找到之间的关系,梳理清楚三个点查什么?哪里查?条件是什么?下面是样表,和代码执行 # 4张表 用户表user 角色表role 中间表centre 权限表limit create table user( id int primary key auto_increment, -- 用户id user_name varchar(32) not null, -- 用户名字 limitId int not null -- 用户权限 );...原创 2021-05-25 19:05:43 · 53 阅读 · 1 评论 -
MySQL 多对多查询的使用
多对多查询如:一门课程可以多个学生选择,一个学生也可以拥有多门课程。其实使用中间表,就很好的完成了多对多的查询下面有样表,和具体实现代码# 课程表create table class( -- 课程表 id int primary key auto_increment, -- 主键 自增 cname varchar(32) not null -- 课程名称);# 学生表create table student( -- 学生表 id int primary ke.原创 2021-05-25 17:40:18 · 8003 阅读 · 1 评论 -
MySQL 一对多且一对一表查询的使用
概述:一个部门对应多个员工,一对多一个员工对应一个部门,一对一# 表信息以及数据create table emp( -- 人员表 id int primary key auto_increment, -- 人员id ename varchar(32), -- 人员姓名 dept_id int not null -- 部门id,因为只用到了查询就没有建立外键);create table dept( -- 部门表 id int primary key auto_increm原创 2021-05-25 17:04:18 · 200 阅读 · 0 评论 -
MySQL 多表查询之嵌套查询
嵌套查询也称为子查询#子查询#查询工资最高的员工信息SELECT *FROM emp,deptWHERE emp.dept_id = dept.id AND emp.salary = (SELECT MAX(emp.salary) FROM emp); -- 最高工资#查询工资小于平均工资的人SELECT NAME,salary -- 姓名和工资FROM empWHERE salary < (SELECT AVG(salary) FROM emp); -- 小原创 2021-05-24 21:10:30 · 531 阅读 · 0 评论 -
MySQL 多表查询之外连接
外连接#左外连接#查询所有员工信息,如果员工有部门,则查询部门名称,没有部门,则不显示部门名称SELECT * -- 所有FROM emp -- 员工LEFT OUTER JOIN dept -- 部门ON emp.dept_id = dept.id; #右外连接#查询所有员工信息,如果员工有部门,则查询部门名称,没有部门,则不显示部门名称SELECT *FROM empRIGHT OUTER JOIN deptON dept.id = emp.dept_id原创 2021-05-24 20:51:06 · 360 阅读 · 0 评论 -
MySQL 多表查询之隐式内连接查询
目录内连接查询测试样表内连接查询关键字 join on语法:select 字段1,字段2 from 表1 join 表2 on 条件;#显式内连接 #关键字 join on#查询所有员工信息和对应部门信息SELECT * -- 所有员工信息FROM emp -- 员工表JOIN dept -- 部门表on emp.dept_id = dept.id; -- 约束条件 #查询员工表的名称,性别,部门表的名称SELECT t1.`NAME`,t..原创 2021-05-24 20:42:05 · 542 阅读 · 0 评论 -
MySQL多表查询之显式查询
目录隐式查询样表测试隐式查询使用where关键字添加限制#隐式内连接查询 where 限制#查询所有员工信息和对应部门信息SELECT* -- 所有员工和对应部门FROMemp t1, -- 员工表dept t2 -- 部门表WHEREt1.dept_id = t2.id; -- 约束条件#查询员工表的名称,性别,部门表的名称SELECT t1.NAME,t1.gender,t2.NAME -- 员工名称,性别,部门表FROMemp t1, -- 员工表原创 2021-05-24 20:34:03 · 105 阅读 · 0 评论 -
MySQL 多表查询样表
一个简单的样表,方便练习# 创建部门表 CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) );#插入部门数据 INSERT INTO dept (NAME) VALUES ('开发部'),('市场部'),('财务部');# 创建员工表 CREATE TABLE emp ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10), g原创 2021-05-24 20:32:39 · 124 阅读 · 0 评论 -
MySQL 外键约束与级联操作
MySQL外键约束语法:constraint 外键名称 foreign key 列名称 references 主表(列名称);-- 外键约束的操作-- 关键字 foreighn key -- 概述:就是让两个以及多个表之间建立联系-- 创建表时加入外键CREATE TABLE tab(id int PRIMARY KEY ,name VARCHAR(30),t_id INT, -- 外键对应主表的主键 数据类型要一样CONSTRAINT tab_tab1_id -- 外键原创 2021-05-24 01:57:08 · 680 阅读 · 0 评论 -
MySQL 的约束
MySQL对字段的一些约束操作目录MySQL对字段的一些约束操作主键约束操作非空约束的操作唯一约束的操作自动增长数值的操作主键约束操作关键字为: primary key-- 主键约束 关键字 primary key;-- 创建表时的使用CREATE TABLE tab( -- tab 测试表名id int PRIMARY KEY, -- 创建id为主键name varchar(20) -- 名字);-- 删除主键ALTER TABLE tab DROP原创 2021-05-24 00:53:49 · 130 阅读 · 0 评论 -
MySQL 的聚合函数,分组,分页使用
MySQL的聚合函数的使用-- 计算个数(*)代表所有字段SELECT COUNT(字段) FROM 表名;-- 计算最大值,最小值SELECT MAX(字段) FROM 表名;SELECT MIN(字段) FROM 表名;-- 求和SELECT SUM(字段) FROM 表名;-- 求平均数SELECT AVG(字段) FROM 表名;MySQL的分组使用其中,having和where的区别区别一:having后面可以根聚合函数,反之where不可以区别二:wh原创 2021-05-24 00:26:52 · 221 阅读 · 0 评论 -
“java小白成长之路“,关于线程共享资源问题,模仿购买电影票
需求:电影院票共计100章,现在有3个平台可以购买(美团,猫眼,淘票),怎么保证不错够,不多买.1.使用多线程,三个平台相当于3个线程2.定义共享的静态变量进行减法(surprise),且定义已购买的静态变量储存销售多少张(sell)3.进行上锁,购买一个出来一个(syhchronized)代码实现如下:package com.hare.treadpro;/** * 1.线程的同步问题 * 案例:三个平台同时进行购电影票 * 1.1 创建3个进行 美团,淘票票,猫.原创 2021-05-17 19:15:20 · 454 阅读 · 0 评论 -
“java小白成长之路“,关于线程锁死
简述:为什么会锁死个人理解:同时有两个线程在等待,当为线程1开放之后锁起来,线程1继续去下面的线程2的锁,等于是压根没出去,自然就锁上了,线程2进不来.(个人理解)package com.hare.treadpro;/** * 关于死锁 * 一共有两个线程,当线程1已经锁上,等待线程2的锁,线程2也同时锁上,等待线程1的锁 * ps:是里外包裹着,线程1包裹线程2/线程2包裹,线程1 */class DieLock implements Runnable{ privat原创 2021-05-17 19:06:53 · 50 阅读 · 0 评论 -
“java小白成长之路“,自写ArrayList<E>集合中的一些方法,纯属娱乐
关于ArraLIst<E>的方法(自己定义的)add(E e); add(int index,E e); remove(Object o); remove(int index); set(int index, E e); int size(); boolean isEmpty(); int indexOf(Object o); Object[] toArray();遇到难题就是:当添加时集合中容量不够时,如何进行自动扩容 当泛型数据类型为Integer时,进行re原创 2021-05-15 09:42:56 · 87 阅读 · 0 评论 -
“java小白的成长之路“ 使用字符流进行对文件的读,写操作
需求: 对一个文件进行基本读,写思路: 应该先有数据才能读取,所以先写后读1.使用write直接对文件进行写入(参数可以直接是字符串)2.接下来的一个flush()方法进行刷新流,为什么要刷新呢?因为对于缓冲区来讲,如果数据无法溢出缓冲区,数据就无法写入到文件,所以进行了一次刷新,保证数据到达.3.进行读取,使用一个char数组作为缓冲区4.进行sout读取数组中的内容5.关闭流代码如下://创建字符输出流BufferedWriter bw = new Buffere原创 2021-05-13 21:03:23 · 253 阅读 · 0 评论 -
“小白Hare的成长之路“关于java 使用IO流对音频文件进行复制
需求:将一个音频文件通过读取,写入的方式复制到指定盘符下.思路:1.先获取文件的路径,包括需要复制的文件,和复制之后的路径和文件名2.使用缓冲(BufferdInputStream;BufferdOutputStream)进行字节流的操作,先读取,再进行写入3.最后记得关闭流实现代码如下://创建需要copy的文件路径以及文件名File file = new File("c:/Users/22230/Music/谭咏麟 - 讲不出再见.mp3");//创建缓冲流以及输入字节流原创 2021-05-13 20:03:01 · 289 阅读 · 0 评论