自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 重新开始学习java

重新开始学习java因为之前已经学过了 中间我应该会大幅度的跳过基础内容但我相信也没人看 所以 就这样吧吼吼吼吼吼吼吼吼

2020-07-06 10:58:16 132

原创 Mybatis--配置解析

4、配置解析4.1、核心配置文件mybatis-config.xmlMyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)environment(环境变量)transactionManage

2021-05-19 20:41:26 268

原创 Mybatis-增删改查CRUD练习

3、CRUD1、namespacenamespace中的包名要和dao/mapper接口中的包名一致!2、select选择、查询语句id:就是对应的namespace中的方法名;resultType:sql语句执行的返回值!parameterType:参数类型!编写接口//根据用户查询id;User getUserById(int id);编写对应的mapper中的sql语句<select id="getUserById" resultType="com.tr.p

2021-05-19 09:43:10 305 1

原创 Mybatis-初识与第一个程序

MyBatis环境:jdk1.8mysql5.7maven3.6.3IDEA回顾JDBCMySqlJava基础MavenJunit框架:官网文档:看官网文档1、简介1.1、什么是MyBatisMyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain

2021-05-18 10:25:25 260

原创 超市订单管理系统---用户管理实现2

3、获取角色列表为了我们职责统一,可以把角色的操作单独放在一个包中,和pojo类对应RoleDaopackage com.tr.dao.role;import com.tr.pojo.Role;import java.sql.Connection;import java.sql.SQLException;import java.util.List;/** * @author TRasdzz * @version 1.0 * @since create in 2021/5/12

2021-05-18 10:19:37 336

原创 超市订单管理系统 ---用户管理实现

用户管理实现思路:导入分页的工具类用户列表页面导入1、获取用户数量UserDao//查询用户总数public int getUserCount(Connection connection, String userName, int userRole) throws SQLException;UserDaoImpl@Overridepublic int getUserCount(Connection connection, String userName, int user

2021-05-18 10:16:26 397

原创 超市订单管理系统-密码修改

密码修改导入前端页面<li><a href="${pageContext.request.contextPath }/jsp/pwdmodify.jsp">密码修改</a></li>写项目,建议从底层往上写UserDao 接口 //修改当前用户密码 public int updatePwd(Connection connection, String userCode , String password) throws SQLE

2021-05-13 15:32:43 580 3

原创 超市订单管理系统-登录功能优化

登录功能优化注销功能:思路:移除Session,返回登录页面package com.tr.servlet.user;import com.tr.utils.Constant;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletR

2021-05-13 15:32:03 176

原创 超市订单管理系统-登录功能实现

登录功能实现编写前端页面遇到的问题:如果在过滤器部分写了response.setContentType("text/html;charset=utf-8");会把所有的文件都以html文件处理 css文件,js文件 以及其他静态文件不会加载解决办法1:不写就行了(逃避可耻,但有用啊)request.setCharacterEncoding("utf-8");/*response.setContentType("text/html;charset=utf-8");*/response.se

2021-05-13 15:30:00 525 2

原创 超市订单管理系统-项目搭建准备工作

SMBMS数据库:项目如何搭建?考虑使用不适用Maven? 依赖,jar项目搭建准备工作搭建一个maven web项目配置Tomcat、测试项目是否能够跑起来导入项目中需要的依赖<!--测试单元--><dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.1

2021-05-13 15:28:42 172 1

原创 JavaWeb 4-5

4、HTTP4.1、什么是HTTPHTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。文本:html,字符串,~ ….超文本:图片,音乐,视频,定位,地图…….80Https:安全的4434.2、两个时代http1.0HTTP/1.0:客户端可以与web服务器连接后,只能获得一个web资源,断开连接http2.0HTTP/1.1:客户端可以与web服务器连接后,可以获得多个web资源。‘4.3、Http请求客户端—发请求(R

2021-04-28 20:16:40 88

原创 JavaWeb-1、基本概念

1.1、前言web开发:web,网页的意思 , www.baidu.com静态webhtml,css提供给所有人看的数据始终不会发生变化!动态web淘宝,几乎是所有的网站;提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同!技术栈:Servlet/JSP,ASP,PHP在Java中,动态web资源开发的技术统称为JavaWeb;1.2、web应用程序web应用程序:可以提供浏览器访问的程序;a.html、b.html…多个web

2021-04-24 09:09:46 66

转载 10、JDBC相关

10.1、数据库驱动这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡,同样道理,我们安装好数据库之后,我们的应用程序也是不能直接使用数据库的,必须要通过相应的数据库驱动程序,通过驱动程序去和数据库打交道,如下所示:10.2、JDBC介绍SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC。这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接

2021-04-20 22:58:43 140

原创 9、规范化数据库设计

9.1、为什么需要数据库设计当数据库比较复杂时我们需要设计数据库糟糕的数据库设计数据冗余,存储空间浪费数据更新和插入的异常程序性能差良好的数据库设计节省数据的存储空间能够保证数据的完整性方便进行数据库应用系统的开发软件项目开发周期中数据库设计 :需求分析阶段: 分析客户的业务和数据处理需求概要设计阶段:设计数据库的E-R模型图 , 确认需求信息的正确和完整设计数据库步骤收集信息与该系统有关人员进行交流 , 座谈 , 充分了解用户需求 , 理解数据库需要完成的任务

2021-04-19 20:15:16 277

原创 8、权限管理

8.1、用户管理1、使用Navicat创建用户,并授予权限演示2、基本命令/* 用户和权限管理 */ ------------------ 用户信息表:mysql.user -- 刷新权限FLUSH PRIVILEGES -- 增加用户 CREATE USER kuangshen IDENTIFIED BY '123456' CREATE USER 用户名 IDENTIFIED BY [PASSWORD] 密码(字符串) - 必须拥有mysql数据库的全局CREATE US

2021-04-18 17:03:03 107

原创 7、索引 下

7.4、常规索引作用 : 快速定位特定数据注意 :index 和 key 关键字都可以设置常规索引应加在查询找条件的字段不宜添加太多常规索引,影响数据的插入,删除和修改操作CREATE TABLE `result`( -- 省略一些代码 INDEX/KEY `ind` (`studentNo`,`subjectNo`) -- 创建表时添加 )-- 创建后添加 ALTER TABLE `result` ADD INDEX `ind`(`studentNo`,`sub

2021-04-18 14:24:04 75

原创 7、索引 上

7.1、索引分类索引的作用提高查询速度确保数据的唯一性可以加速表和表之间的连接 , 实现表与表之间的参照完整性使用分组和排序子句进行数据检索时 , 可以显著减少分组和排序的时间全文检索字段进行搜索优化.分类主键索引 (Primary Key)唯一索引 (Unique)常规索引 (Index)全文索引 (FullText)7.2、主键索引主键 : 某一个属性组能唯一标识一条记录特点 :最常见的索引类型确保数据记录的唯一性确定特定数据记录在数据库中的位置7

2021-04-18 14:23:12 67

原创 6、事务

6.1、概述要么都成功,要么都失败SQL执行 A给B 转账 A 1000 B 200SQL执行 B收到A的钱 A 800 B 400什么是事务事务就是将一组SQL语句放在同一批次内区执行如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行MySQL事务处理值支持InnoDB和BDB数据表类型事务的ACID原则(脏读 幻读…)原子性(Atomic)整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务

2021-04-15 11:48:01 102

原创 Object类

Object类Object类是所有java类的根基类,也就意味着所有的java对象都拥有Object类的属性和方法。如果在类的声明中未使用extends关键子指明其父类,则默认继承Object类。toString()方法Object类中定义有public String toString()方法,其返回值是String类型。Object类中toString发放的源码为:public String toString() { return getClass().getName() + "@

2021-04-15 10:17:57 790

原创 4、DQL数据查询 下

4.4、联表查询join对比操作符名称描述INNER JOIN如果表中有至少一个匹配,则返回行LEFT JOIN即使右表中没有匹配,也从左表中返回所有的行RIGHT JOIN即使左表中没有匹配,也从右表中返回所有的行测试/*连接查询 如需要多张数据表的数据进行查询,则可通过连接运算符实现多个查询内连接 inner join 查询两个表中的结果集中的交集 外连接 outer join 左外连接 left join (以左表作为

2021-04-15 10:16:15 91

原创 4、DQL数据查询 上

4.1、DQL(Date Query LANGUAGE:数据查询语言)所有的查询操作都用它 Select简单的查询,复杂的查询它都能做~数据库中最核心的语言,最重要的语句使用频率最高的语句SELECT语法SELECT [ALL | DISTINCT] {* | table.* | [table.field1[as alias1][,table.field2[as alias2]][,...]]} FROM table_name [as table_alias] [left | ri

2021-04-15 10:15:11 185

原创 5、MySQL函数

官方文档 : 官方文档5.1、常用函数数据函数SELECT abs(-8); -- 绝对值SELECT CEILING(9.4);-- 向上取整SELECT FLOOR(9.4);-- 向下取整SELECT RAND();-- 返回一个0~1之间的随机数字SELECT SIGN(0); -- 判断一个数字的符号 0-0 负数返回-1 正数返回1字符串函数SELECT CHAR_LENGTH(175462) -- 字符串长度SELECT CONCAT('我','爱','言叶') --

2021-04-11 19:48:46 81

原创 3、MySQL数据管理

3、MySQL数据管理3.1、外键(了解即可)外键概念如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。在实际操作中,将一个表的值放入第二个表来表示关联,所使用的值是第一个表的主键值(在必要时可包括复合主键值)。此时,第二个表中保存这些值的属性称为外键(foreign key)。外键作用保持数据一致性,完整性,主要目的是控制存储在外键表中的数据

2021-04-08 23:32:12 73

原创 2、操作数据库

2、操作数据库操作数据库>操作数据库中的表>操作数据库中表的数据mysql的操作部分大小写2.1、操作数据库1、创建数据库CREATE DATABASE [IF NOT EXISTS] westos;2、删除数据库drop DATABASE if EXISTS westos;3、使用数据库-- tab 键上面,如果你的表名或者字段名是一个特殊字符,就需要带use school;SELECT `user` FROM student;4、查看数据库SHOW DATAB

2021-04-08 09:18:07 121

原创 1、初识数据库

1、初识MySQLjavaEE:企业级java开发 Web前端(页面、展示,数据!)后台(连接点:连接数据库JDBC,链接前端(控制,控制试图跳转,和给前端传递数据))数据库(存数据,TXT,Excel,word)只会写代码,学好数据库,基本混饭吃操作系统,数据结构与算法!不错的程序员离散数学,数字电路,体系结构,编译原理。 +实战经验 高级程序员 优秀程序员1.1、为什么学数据库1、岗位需求2、现在的世界,大数据时代~,得数据库者得天下。3、被迫需求:存数据 去IOE4、

2021-04-08 09:15:16 91

原创 反射

1.2、反射Java反射机制概述静态vs动态语言动态语言是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时代码可以根据某些条件改变自身结构。function f() { var x = "var a = 3; var b = 5; alert(a + b)" exal(x);//执行x里的这段代码}主要动态语言:Object-C、C#、JavaScript、PHP、Python

2021-03-25 20:04:58 137

原创 注解

注解与反射1.1、注解Annotation是从JDK5.0开始引入的新技术.Annotation的作用:不是程序本身,可以对程序作出解释,(这一点和注释(comment)没什么区别)==可以被其他程序(比如:编译器等)读取。Annotation的格式:注解是以“@注释名”在代码中存在的,还可以添加一些参数值,例如:@SuppressWarnings(value=“unchecked”).Annotation在哪里使用?可以附加在package, class,

2021-03-25 20:01:24 97

原创 网络编程

网络编程1.1、概述地球村:你在天津,你有一个英国的朋友,说一句话,就能听到信件:计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程的目的:无线电台…传播交流信息,数据交换。通信想要达到这个效果需要什么:如何让准确的定位网络上的一台主机 192.168.16.124:端口, 定位上这个计算机上的某个资源找到了这个主句,如何

2021-03-25 19:52:26 568 2

原创 Web下载文件设置头信息

使用web下载文件的时候,需要在实例化FileServlet 类的doGet方法里面添加以下设置resp.setHeader("Content-disposition","attachment;filename"+ URLEncoder.encode(filename));```

2021-03-18 11:35:30 942

原创 线程池

背景:经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大。思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁创建销毁、实现重复利用。类似生活中的公共交通工具。好处:提高响应速度(减少了创建新线程的时间)降低资源消耗(重复利用线程池中线程,不需要每次都创建)便于线程管理(…)corePooISize:核心池的大小maximumPoolSize:最大线程数keepAliveTime:线程没有任务时最多保持多长时间后会终止.

2021-03-12 12:51:41 49

原创 线程协作 - 生产者消费者模式

生产者消费者模式(问题)应用场景:生产者消费者问题假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费。如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止.如果仓库中放有产品,则消费者可以将产品取走消费,否则停止消费并等待,直到仓库中再次放入产品为止。分析:这是一个线程同步问题,生产者和消费者共享同一个资源,并且生产者和消费者之间相互依赖,互为条件。对于生产者,没有生产产品之前,要通知消费者等待,而生产了产

2021-03-12 12:50:55 133

原创 Lock锁 以及 synchronized与lock的比较

Lock(锁)Java5.0开始,通过显式定义同步锁对对象来实现同步。同步锁使用Lock对象充当java.util.concurrrnt.locks.Lock接口是控制多个线程对共享资源进行访问的工具。锁提供了对共享资源的独立访问,每次只能由一个进程对Lock对象加锁,线程开始访问共享资源之前应先获得Lock对象ReentrantLock(可重入锁)类实现了Lock,它拥有与synchronized相同的并发性和内存语义,在实现线程安全的控制中,比较常用的是ReentrantLock,可以显示加锁、释

2021-03-12 12:49:29 208

原创 死锁以及死锁的避免方式

死锁多个线程各自占有一些公共资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都通知执行的情形。某一个同步块同时拥有”两个以上对象的锁“时,就可能发生死锁的问题//死锁:多个线程互相抱着对方需要的资源,然后形成僵持public class DeadLock { public static void main(String[] args) { Makeup g1 = new Makeup(0, "灰姑娘"); Makeup

2021-03-12 12:48:39 102

原创 并发问题以及三大不安全案例

并发并发:同一个对象被多个线程同时操作现实生活中,我们会遇到 “同一个资源,多个人想要使用”的问题,比如,食堂排队打饭,每个人都想吃饭,最天然的解决方法就是,排队,一个个来处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象。这时候我们就需要线程同步。线程同步其实就是一种等待机制,多个需要同时方位此对象的进程进入这个对象的等待池形成队列,等待前面线程使用完毕没下一个线程再使用队列 和 锁线程同步需要队列+锁 解决安全性由于同一进程的多个线程共享同一块存储空间,在带来方便的同时

2021-03-12 12:47:45 776

原创 线程状态及一些方法的使用

线程状态方法说明setPriority(int newPriority)更改线程的优先级static void sleep(long millis)在指定的毫秒数内让当前正在执行的线程休眠void join()等待该线程终止static void yieId()暂停当前正在执行的线程对象,并执行其他的线程void interrupt()中断线程,别用这个方式booelan isAlive()测试线程是否处于活动状态停止线程不推荐使

2021-03-10 22:51:41 246

原创 Lambda表达式

λ表达式:避免匿名内部类定义过多其实质属于函数式编程的概念(params) ->expression[表达式](params) ->statement[表达式](params) ->{statements}a -> System.out.println(“I like lambda --> ” + a);new Thread( ()-> System.out.println("多线程学习。。。。。")).start();为什么要使用λ表达式避免匿

2021-03-10 22:48:19 119

原创 静态代理模式

一个结婚案例来理解静态代理模式//静态代理模式总结 //真实对象和代理对象都要实现同一个接口 //代理对象要代理真实角色//好处: //代理对象可以做很多真实对象做不了的事情 //真实对象就专注做自己的事情public class StaticProxy { public static void main(String[] args) { You you = new You(); //Thread 代理了new Runna.

2021-03-08 22:39:18 65

原创 Runnable接口的并发问题 以及龟兔赛跑案例

初识别并发问题//多个线程同时操作同一个对象// 买火车票的例子 //发现问题:多个线程操作同一个资源的情况下,线程不安全,数据紊乱。public class TestThread04 implements Runnable{ //票的总数 private int ticketNum = 10; @Override public void run() { while (true){ //模拟延时

2021-03-08 21:52:47 166

原创 Runnable接口的实现以及图片的下载

实现Runnable接口//创建线程方式2:实现Runnable接口 重写run()方法 执行线程需要丢入runnable接口实现类,调用start()方法。public class TestThread03 implements Runnable{ @Override public void run() { //run方法线程体 for (int i = 0; i < 20; i++) { System.out.printl

2021-03-08 21:51:37 88

原创 线程的创建以及下载图片的方法

线程的创建三种创建的方法//创建线程方式一:继承Thread方法,重写run()方法,调用start开启线程//总结:注意,线程开启不一定立即执行,由cpu调度执行public class TestThread01 extends Thread{ @Override public void run() { //run方法线程体 for (int i = 0; i < 20; i++) { System.out.prin

2021-03-08 17:23:34 157

java小作业.zip

就是个小作业的资源,包括水仙花,学生对象的 1-100求和 最大最小值等的弧度计算利润计算捕捉数据异常等

2019-12-25

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除