![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
逸川先生
Java开发工程师,专注后台开发两年,擅长分布式系统
展开
-
分布式事务两阶段提交
分布式CAP回顾一致性 Consistency: 在分布式系统中数据往往存在多个副本,一致性描述的是这些副本中的数据在内容和组织上的一致可用性 Availability: 描述系统对用户的服务能力,所谓可用是指在用户能够容忍的时间范围内返回用户期望的结果分区容错性 Partition Tolerance: 分布式系统通常由多个节点构成,由于网络是不可靠的,所以存在分布式集群中的节点因为网络通信故障导致被孤立成一个个小集群的可能性,即网络分区,分区容错性要求在出现网络分区时系统仍然能够对外提供一致性的原创 2020-12-17 16:20:52 · 267 阅读 · 2 评论 -
Establishing SSL connection without server's identity verification is not recommended.
错误:Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if e...原创 2019-10-29 10:30:36 · 167 阅读 · 0 评论 -
Blob和Clob的使用
笔记/*1.LOB(Large Object,大型对象)类型的字段现在用得越来越多了。因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种类型的字段,很灵活,适用于数据量非常大的业务领域(如图象、档案等)。2.LOB类型分为BLOB和CLOB两种:BLOB即二进制大型对象(Binary Large Object),适用于存贮非文本的字节流数据(如程序、图象、影音等...原创 2018-09-19 17:38:56 · 1669 阅读 · 0 评论 -
简单了解MySQL索引
索引分类1.普通索引index :加速查找2.唯一索引 主键索引:primary key :加速查找+约束(不为空且唯一) 唯一索引:unique:加速查找+约束 (唯一)3.联合索引 -primary key(id,name):联合主键索引 -unique(id,name):联合唯一索引 -index(id,name):联合普通索引4.全文索引f...原创 2018-10-19 22:43:31 · 97 阅读 · 0 评论 -
事务的四大特性--ACID
ACID ---- 原子性、一致性、隔离性、持久性原子性就是一系列的操作,要么都执行,要么都不执行。当一个事务发生异常的时候,就会通过回滚来保证原子性。在mysql中,原子性是通过回滚日志来实现的,回滚日志就是我们的操作的逆操作。持久性事务提交之后一定会存储到数据库中,如果要回滚只能手动执行相反的操作了隔离性事务的隔离性会跟并发等相关概念联系的非常密切,因为它主要就是为了保...原创 2018-10-25 17:25:37 · 165 阅读 · 0 评论 -
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
运行安装mysql 报错[root@localhost mysql-mult]# ./scripts/mysql_install_db --defaults-file=conf/3306my.cnfFATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_...原创 2018-10-29 20:29:31 · 1201 阅读 · 0 评论 -
MySQL优化
SQL优化 索引优化 数据库引擎优化 数据库内存优化这四种优化,应该从前往后进行,因为SQL的优化影响的返回最小,然后越往后,对数据库的影响越大,索引影响的是一列,数据库引擎优化影响的是一个表,内存优化影星的是一整个数据库。什么样的字段适合创建索引经常需要搜索的列主键、外键(可以加快连接速度)常用于排序的列 – 因为索引已经有序常用在where字句中的列 – 加快条件判断...原创 2018-11-18 16:11:31 · 690 阅读 · 0 评论 -
incorrect string value: for column at row
alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_bin; (将TABLE_NAME替换成你的表名)原创 2019-01-04 11:22:32 · 2662 阅读 · 1 评论 -
CallableStatement的使用(存储过程)
使用的是MySQL现在数据库中添加几个存储过程如下#创建存储过程#1.空参DELIMITER $$CREATE PROCEDURE p1( )BEGIN INSERT INTO pp(NAME)VALUES('x1'); INSERT INTO pp(NAME)VALUES('x2'); SELECT * FROM pp;END $$DELIMITER ;#...原创 2018-09-19 17:04:30 · 8375 阅读 · 0 评论 -
dbutils的基本使用方法
我这里使用到了c3p0的连接池,可以参考这个链接:c3p0的基本使用方法dbutils只是一个工具类,如果不使用hibernate这种大型的框架,可以考虑使用.。因为他可以大大的简化我们的代码jar包可以到官网下载,也可以在这里下载:Java连接数据库的工具类 主要使用到QueryRunner、ResultSetHandler<T>这两个类而QueryRunner主要使...原创 2018-09-24 00:23:36 · 2347 阅读 · 0 评论 -
常用SQL语句
{1) 数据记录筛选:sql="select * from 数据表 where 字段名=字段值 order by 字段名 "sql="select * from 数据表 where 字段名 like ‘%字段值%‘ order by 字段名 "sql="select top 10 * from 数据表 where 字段名 order by 字段名 "sql="select * from 数据表 where 字段名 in (‘值1‘,‘值2‘,‘值3‘)"sql="select * from 数据转载 2017-11-09 13:01:49 · 659 阅读 · 0 评论 -
再谈连接数据库
(本文主要讲解的是:1如何防止数据库的注入,2,如何实现DBUtils,3,第三方工具类QueryRunner的使用)1.防止数据库的注入java作为企业级开发语言,你总能感受到它与数据库之间的紧密联系。前面已经写过一遍关于statement 连接数据库的文章:JDBC连接数据库(statement)当然了,statement只是其中一种初级的连接方式,在以前是会有原创 2017-11-08 16:58:11 · 351 阅读 · 0 评论 -
数据库的增删改查
//java连接数据库,对数据库进行增删改查的操作//main函数调用增删改查的方法//正删改查的方法调用具体操作//每个操作又调用工具类进行链接数据库import java.util.List;import java.util.Scanner;public class TestDB { private static Scanner scanner = new Scanne原创 2017-11-13 20:33:03 · 1090 阅读 · 0 评论 -
java获取MySQL自动增长数据
@Test public void test1() throws Exception { Connection connection = DBUtil.getConnection(); Statement st = connection.createStatement(); String sql = " insert into pp(name) values('香蕉') "; ...原创 2018-09-18 23:11:25 · 1578 阅读 · 0 评论 -
MySQL的datetime数据类型如何在Java中添加
简单,就转换为String就欧克了@Test public void test1() throws Exception { Connection conn = DBUtil.getConnection(); String sql = " insert into pp values(?,?,?)"; PreparedStatement pst = conn.prepareStat...原创 2018-09-18 23:14:45 · 3230 阅读 · 0 评论 -
MySQL批处理 - executeBatch方法使用
1.假设使用事务: (1)不使用批处理而是一条一条的SQL语句发送给MySQL的方式,如果有很多语句这样执行,每次到要和MySQL通讯,开销太大;另一方面,这样执行的SQL语句如果中间有一条发送错误,后面的SQL语句是不会执行的,理解为抛出异常,后面的语句当然就不执行了 (2)使用批处理方法,一次过将要执行的SQL语句发送给MySQL,MySQL的机制是:中间有语句错误,后面正确的语句还是...原创 2018-09-18 23:53:49 · 5703 阅读 · 0 评论 -
DBCP连接池基本使用方法
无非就两种,一种用配置文件,一种不用配置文件。建议是用配置文件,灵活一些使用dbcp就要先导入jar包,可以到官网下载,也可以在这里下载:java连接数据库的相关工具类连接相当简单package cn.bl.v4_DataSource.dbcp;import java.sql.SQLException;import java.util.Properties;import j...原创 2018-09-24 00:05:37 · 812 阅读 · 0 评论 -
c3p0的基本使用方法
c3p0应该说是十分常用的连接池了,很常用的dao层框架hibernate都是用c3p0的他的用法相当简便,当然,要懂一点连接数据库的知识作为前提,直接上代码了。至于jar包,可以直接百度,也可以到这里下载:Java连接数据库的工具类下面是基本用法package cn.bl.v4_DataSource.c3p0;import java.sql.SQLException;i...原创 2018-09-24 00:12:57 · 14198 阅读 · 1 评论 -
JDBC连接数据库(statement)
1,连接数据库之前的操作在数据库可视化软件新建一个连接;新建一个数据表;在数据表创建数据(id设置为自增长)2,JDBC操作数据库的步骤1.注册驱动 告知JVM使用的是哪一个数据库的驱动2.获得连接 使用JDBC中的类,完成对MySQL数据库的连接3.获得语句执行平台 通过连接对象获取对SQL语句的执行者对象4.执行sql语句原创 2017-11-02 17:42:27 · 515 阅读 · 0 评论