数据库
数据库基础自学!
.二丫.
这个作者很懒,什么都没留下…
展开
-
MySQL数据库基础-DBUtils基础学习
DBUtils基础学习 什么是DBUtils? 对JDBC进行简单的封装,而且没有影响其性能! 为什么要学习DBUtils? 因为JDBC手写比较麻烦,而且有非常多的代码是类似的。比如获得连接,预编译SQL,释放资源等…那么可以将这些代码抽取出来放到工具类中。将类似的代码进行抽取。大大简化JDBC的编程。 QueryRunner对象核心运行类: 构造方法: 方法: 在一般情况下如果执行CRUD的操作: 构造: QueryRunner(DataSource ds); 方法: in原创 2020-12-01 21:32:41 · 177 阅读 · 0 评论 -
MySQL数据库基础-自己编写JDBC工具类的改进
JDBC工具类的改进 我在之前的文章中写过一个JDBC的工具类,随着学习的深入,发现我们还可以利用连接池来改进我们自己写的工具类。之前工具类的文章!!!! 使用c3p0连接池改进后的JDBC工具类:(使用c3p0连接池的话需要引入他的jar包) import com.mchange.v2.c3p0.ComboPooledDataSource; import javax.sql.DataSource; import java.sql.*; /** * JDBC 工具类 */ public clas原创 2020-12-01 19:44:54 · 82 阅读 · 0 评论 -
MySQL数据库基础-c3p0连接池基础使用
c3p0连接池基础使用 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。 import JDBCdemo1.JDBCUtils; import com.mchange.v2.c3p0.ComboPooledDataSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.原创 2020-12-01 16:42:31 · 87 阅读 · 0 评论 -
MySQL数据库基础-Druid连接池基础使用
Druid连接池基础使用 建立数据库连接耗时耗费资源,一个数据库服务器能够同时建立的连接数也是有限的,在大型的Web应用中,可能同时会有成百上千的访问数据库的请求,如果Web应用程序为每一个客户请求分配一个数据库连接,将导致性能的急剧下降。 数据库连接池的意义在于,能够重复利用数据库连接(有点类似线程池的部分意义),提高对请求的响应时间和服务器的性能。 连接池中提前预先建立了多个数据库连接对象,然后将连接对象保存到连接池中,当客户请求到来时,直接从池中取出一个连接对象为客户服务,当请求完成之后,客户程序原创 2020-12-01 08:38:55 · 212 阅读 · 1 评论 -
MySQL数据库基础-JDBC基础连接使用(PreparedStatement)
JDBC基础连接使用(PreparedStatement) import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; public class JDBCdemo03 { public static void main1(String[] args) { /* 保存操作 */ Connection conn = n原创 2020-11-30 18:48:36 · 155 阅读 · 0 评论 -
MySQL数据库基础-JDBC基础连接使用(使用Statement对象)
JDBC基础连接使用 package JDBCdemo1; import java.sql.*; /** * JDBC入门连接 */ public class JDBCdemo01 { public static void main1(String[] args) { Connection conn = null; Statement statement = null; ResultSet rs = null; try {原创 2020-11-30 15:41:27 · 142 阅读 · 0 评论 -
MySQL数据库基础-自定义连接池以及连接池问题的解决
自定义连接池 什么是连接池? 连接池是装有连接的容器,使用连接的话,可以从连接池中进行获取,使用完成之后将连接归还给连接池。 为什么要学习连接池? 连接对象创建和销毁是需要耗费时间的,在服务器初始化的时候就初始化一些连接。把这些连接放入到内存中,使用的时候可以从内存中获取,使用完成之后将连接放入连接池中。从内存中获取和归还的效率要远远高于创建和销毁的效率。(提升性能)。 连接池原理: 自定义连接池的实现步骤: 1.编写一个类实现DataSource接口 2.重写getConnection方法 3.初原创 2020-11-27 11:37:12 · 265 阅读 · 0 评论 -
MySQL数据库基础-JDBC的事务管理
JDBC的事务管理 转账案例演示: 没有在转账中添加事务管理: @Test /** * 完成转账的案例 */ public void demo1(){ Connection conn = null; PreparedStatement pstmt = null; try{ /** * 完成转账代码: * * 扣除某个账号的钱 * * 给另外一个账号加钱 */ // 获得连接: conn = JDBCUtils.getConnecti原创 2020-11-27 09:26:49 · 63 阅读 · 0 评论 -
MySQL数据库基础-批处理基础学习
批处理基础学习 什么是批处理? 之前进行JDBC的操作的时候,都是一条SQL语句执行。现在如果使用批处理,可以将一批SQL一起执行。 批处理基本使用: @Test /** * 批处理基本操作 */ public void demo1(){ Connection conn = null; Statement stmt = null; try{ // 获得连接: conn = JDBCUtils.getConnection(); // 创建执行批处理对象: st原创 2020-11-26 20:59:56 · 103 阅读 · 0 评论 -
MySQL数据库基础-SQL注入漏洞及解决方案
SQL注入问题及解决方案原创 2020-11-26 18:41:59 · 608 阅读 · 0 评论 -
MySQL数据库基础-自己编写JDBC连接数据库的工具类
JDBC连接数据库工具类 因为传统JDBC的开发,注册驱动,获得连接,释放资源这些代码都是重复编写的。所以可以将重复的代码提取到一个类中 public static void JDBCUtils{ /* 注册驱动的方法 */ public static void loadDriver(){ try{ Class.forName("com.mysql.jdbc.Driver"); }catch(ClassNotFoundException e){ e.printStackTrac原创 2020-11-26 10:05:53 · 214 阅读 · 0 评论 -
MySQL数据库基础-事务的隔离级别
事务的隔离级别 1.如果不考虑隔离性,引发一些安全问题: 如果不考虑隔离性(一个事务执行受到其他的事务的干扰),引发一些安全问题,主要体现在读取数据上: 脏读:一个事务读到了另一个事务未提交的数据,导致查询结果不一致。(同一个数据库表开启两个事务,其中一个事务A操作了表的数据,但是并未提交,这时另外一个事务B查询当前表的数据,查询到的数据是已经修改的数据,但是当A将事务回滚以后,B查询到的数据又是事务A修改之前的数据)。 不可重复读:一个事务读到了另一个事务已经提交的update的数据,导致多次查询结果原创 2020-11-24 16:32:45 · 162 阅读 · 0 评论 -
MySQL数据库基础-事务简单学习
事务简单学习 事务的命令熟悉: 开启事务: start transcation; 提交事务: commit; 回滚事务: rollback; 事务的特性: 1.原子性 原子性:事务的不可分割,组成事务的各个逻辑单元不可分割。 2.一致性 一致性:事务执行的前后,数据完整性保持一致。 3.隔离性 隔离性:事务执行不应该受到其他事务的干扰。 4.持久性 持久性:事务一旦结束,数据就持久化到数据库中。 ...原创 2020-11-24 15:09:46 · 111 阅读 · 0 评论 -
MySQL数据库基础-多表查询的分类
多表查询的分类 连接查询 交叉连接: cross join 交叉连接:查询到的是两个表的笛卡尔积。 语法: select * from 表1 cross join 表2; select * from 表1,表2; 内连接:inner join(inner是可以省略的) 显示内连接:在SQL中显示的调用inner join关键字 语法:select * from 表1 inner join 表2 on关联条件 隐式内连接:在SQL中没有调用inner join关键字 语法:select原创 2020-11-24 09:19:35 · 296 阅读 · 0 评论 -
MySQL数据库基础-数据库的备份与还原
数据库的备份与还原 数据库的备份 第一步:打开cmd的命令行窗口 mysqldump -u root -p web_test1 >C:/web_test1.sql 数据库的还原 第一种还原方式: 第一步:在数据库服务器内部创建数据库 第二步:在命令行窗口 mysql -u root -p web_test1 < C:/web_test1.sql 第二种还原方式: 第一步:在数据库服务器内部创建数据库 第二步:切换到该数据库使用source命令还原 ...原创 2020-11-19 15:33:34 · 59 阅读 · 0 评论 -
MySQL数据库基础-命令行重置MySQL密码
命令行重置MySQL密码 重置MySQL的密码步骤 第一步:停止MySQL的服务 命令行中输入service.msc,找到MySQL服务然后停止。 第二步:在cmd下启动MySQL服务 第三步:重新开启一个cmd的命令 登录MySQL,不需要输入密码。 第四步:修改root的密码 第五步:结束mysqld的进程 第六步:重新启动MySQL的服务 第七步:cmd重新进入MySQL mysql -u root -p enter password:****新密码 进入到MySQL中。 ...原创 2020-11-19 13:19:25 · 1202 阅读 · 0 评论 -
MySQL数据库基础-学习认识
MySQL数据库学习 什么是SQL? SQL的分类 DDL:数据定义语言: create,drop,alter… DCL:数据控制语言: grant,if… DML:数据操纵语言: insert,update,delete… DQL:数据查询语句: select… SQL的使用: SQL对数据库进行操作: ...原创 2020-11-18 16:40:51 · 179 阅读 · 0 评论