
6.MySQL
Whale-Song
今天 你努力了不管是否有收获 至少你赢了坐享其成的你。
展开
-
生产环境加字段
问题在工作中随着业务的扩展,对表加字段是在所难免的,要怎么加字段呢?执行下面这行语句?ALTER TABLE 表名 ADD COLUMN 字段 字段类型 DEFAULT 默认值 COMMENT 注释开发环境想怎么加都可以,生成环境你这样加个试试?表数据稍微大一点直接锁表!!! 后果有多严重可想而知。解决1、先确定生成环境的mysql版本,我司项目比较老,使用的mysql是5.1.46。5.6以下版本的mysql是没有online ddl。针对5.6以下版本的mysql加字段的思路(原创 2020-05-16 12:22:49 · 1786 阅读 · 0 评论 -
MySQL---当Java遇上MySQL⑨---ThreadLocal来说连接池
ThreadLocal该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal 实例通常是类中的 private static 字段,它们希望将状态与某一个线程(例如,用户 ID 或事务 ID)相关联。用比较通俗的话讲:Threa...原创 2018-09-22 08:51:43 · 531 阅读 · 0 评论 -
MySQL---当Java遇上MySQL⑧---数据库元数据、生成Excel文件
玩转数据库元数据主要有两个类: * java.sql.DatabaseMetaData 和 java.sql.ResultSetMetaData * DatabaseMetaData:可以获得驱动信息、所有数据库名,所有表格名(视图、存储过程等) * ResultSetMetaData:可以获得查询结果的表结构,如列(字段)名、字段类型等 ...原创 2018-09-21 12:31:32 · 252 阅读 · 0 评论 -
MySQL---当Java遇上MySQL⑦---我的连接池改进,动态代理模式。
由于 我的连接池普通版 中连接池版本二中,虽然修改了close方法,但是其它代码太多了。这时候应该考虑采用动态代理模式来开发。动态代理模式采用动态代理的前提:被代理的对象必须实现某个接口,而且调用该对象是面向接口的方式。相关文档接口:IPersonpackage cn.hncu.proxy;public interface IPerson { public abstract...原创 2018-09-21 12:26:00 · 299 阅读 · 0 评论 -
MySQL---当Java遇上MySQL⑥---我的连接池
连接池版本一单例的连接工具是应付不了多线程的,所有推出多例连接池来解决多线程的问题。myConnPool.properties 配置文件#MySQLdriver=com.mysql.jdbc.Driver#url=jdbc:mysql://127.0.0.1:3306/hncu?useUnicode=true&characterEncoding=utf-8#下面这一句等...原创 2018-09-21 12:03:13 · 221 阅读 · 0 评论 -
MySQL---当Java遇上MySQL⑤---单线程与多线程下的事务
事务transaction原子性(atomicity):组成事务处理的语句形成了一个逻辑单元,不能只执行其中的一部分。 一致性(consistency):在事务处理执行前后,数据库是一致的(数据库数据完整性约束)。 隔离性(isolcation):一个事务处理对另一个事务处理的影响。 持续性(durability):事务处理的效果能够被永久保存下来 。 一个事务只会有一个结果:要...原创 2018-09-21 11:15:07 · 2879 阅读 · 0 评论 -
MySQL---当Java遇上MySQL④---存储过程
存储过程SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。表结构见MySQL---当Java遇上MySQL②演示调用空参存储过程准备在MySQL下存储过程的创建和使用:创建存储过程DELIMITER $$...原创 2018-09-20 16:37:54 · 248 阅读 · 0 评论 -
MySQL---当Java遇上MySQL③---自动增长字段 、批量处理 、LOB类型数据的存取
准备见MySQL---当Java遇上MySQL②自动增长字段获取自动增长字段的值演示 Statement 获取 @Test //为演示直观 异常直接抛了 public void saveAutoIncrement1() throws Exception { Connection con = ConnUtil.getConnection(); Statement st...原创 2018-09-20 16:27:25 · 409 阅读 · 0 评论 -
MySQL---当Java遇上MySQL②---ResultSet 、Statement 、PreparedStatement
数据库连接工具类配置文件jdbc.properties 该文件存放在src目录下##MySQLdriver=com.mysql.jdbc.Driverurl=jdbc:mysql://127.0.0.1:3306/hncu?useUnicode=true&characterEncoding=utf-8username=rootpassword=1234读取配置文件,...原创 2018-09-20 16:01:21 · 263 阅读 · 0 评论 -
MySQL---第三方工具---dbutils
Apache的工具包:commons-dbutils-1.4.jar玩转DBUtils工具,主要是一个类和一个接口: QueryRunner类---用于执行sql,且主要使用它内部的两个方法: query(), update(), 还有一个不常用的batch()方法。 ResultSetHandler接口 ----用于帮助我们封装结果数据的。 代码演示package ...原创 2018-09-24 11:36:38 · 296 阅读 · 0 评论 -
MySQL---第三方连接池---c3p0
需要jar包:c3p0-0.9.1.2.jar 还有最基本的 mysql-connector-java-5.1.35-bin.jar。下面演示不使用配置文件 @Test //技术入口: com.mchange.v2.c3p0.ComboPooledDataSource public void demo1() throws SQLException, PropertyVetoExcept...原创 2018-09-24 11:28:10 · 311 阅读 · 0 评论 -
MySQL---第三方连接池---dbcp
DataSource接口sun公司提供了javax.sql.DataSource接口,所有第三方的数据库连接池都必须实现该接口。dbcp需要jar包:apache.commons.pool-1.5.3.jar 和 commons-dbcp-1.4.jar,还有最基本的 mysql-connector-java-5.1.35-bin.jar。下面是不使用配置文件的形式: @T...原创 2018-09-24 11:19:12 · 374 阅读 · 0 评论 -
Web---MVC框架搭建
一个图带你认识MVC框架说明:该项目只是为了熟悉MVC框架的搭建。View包结构Control和Model---Src目录关键代码:数据库连接池工具采用动态代理的思想+ThreadLocal技术实现一个线程最多只能获取到一个数据库连接。package cn.hncu.pub;import java.io.IOException;import ja...原创 2018-09-23 16:49:13 · 206 阅读 · 0 评论 -
MySQL---深入浅出②
查询 取别名select sno as 学号, sname as 姓名, age as 年龄, addr as 地址 from stud;as 可以省略select sno 学号, sname 姓名, age 年龄, addr 地址 from stud;复杂查询and 、or 、> 、< 、>= 、<= 、= 、 !=select *...原创 2018-09-13 15:51:30 · 239 阅读 · 0 评论 -
MySQL---深入浅出①
显示所有数据库:show databases;创建数据库:注意:编码是utf8 不是utf-8create database 数据库名 character set utf8;进入数据库:use 数据库名;创建表create table stud(sno varchar(10) not null primary key,sname varchar(10...原创 2018-09-13 09:06:13 · 437 阅读 · 0 评论 -
MySQL---安装压缩包版
准备 MySQL下载官网 找到 MySQL Community Edition (GPL) 这个版本的是免费的 ...原创 2018-09-12 23:37:58 · 217 阅读 · 0 评论 -
MySQL---表关系、关联与存储过程
一对一关系方式一:两张物理表,通过外键关联,外键被UNIQUE修饰CREATE TABLE wm( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10) NOT NULL, sex CHAR(1));CREATE TABLE mm( id INT PRIMARY KEY AUTO_INCREMENT,...原创 2018-09-17 09:26:47 · 1610 阅读 · 0 评论 -
MySQL---当Java遇上MySQL①
准备jar包mysql-connector-java-5.1.47.tar.gz进去滑到最下面,看到点击下载。下载完毕后解压,下图用红线框起来的就是java连接mysql的jar包把jar包添加到项目中代码演示:package cn.hncu.db;import java.sql.Connection;import java.sql.DriverMana...原创 2018-09-16 12:41:44 · 158 阅读 · 0 评论