马士兵mysql视频的个人笔记
Java学习笔记_马士兵老师视频教学的笔记

Java学习笔记学习Java首先要配置环境变量,在电脑属性的高级中,点击环境变量,classpath 中有一英文句号“.”后跟一个分号,表示当前路径的意思。
由第一个程序Helloworld为例说明Java的基本运行代码:public class HelloWorld {public static void main(String args[]) {System.out.println("Hello, World!");}}在Java中只能允许有一个公共类,此区别于C++。
还有Java的写作风格与C和C++有很大区别。
下面细谈Java的基本语法,与其他语言类似,Java每一条语句都以“;”结束。
1.short byte char 之间不会自动转换,他们运算时首先转换为int 然后进行运算;boolean不会进行转换;如:byte b1;byte b2;byte b3=byte(b1+b2);b1+b2运算后是int 类型,可以byte a=1;//可以把数值直接赋值不超范围,(-128~127)float f1=1.234f;long l1=300000000L;f和L一定加上;2.System.out.println( );//输出后换行System.out.print( );//输出后不换行&&和&的区别:表达式1 && 表达式2 只要表达式1 错误,后不再计算,表达式1 & 表达式2 就算表达式1错误表达式2也会计算。
+既可以作为加号,也可以作为连接符,即左右都是字符串,当有一个是字符串,系统默认把另一个转化为字符串再处理。
例如:System.out.println(“c=”+ c);打印时,无论任何类型,都先转换为字符型,再进行打印。
3.聚合关系,就是包含关系,实现关系就像虚基类,在派生类中实现。
4.定义成员变量可以初始化,若不则自动初始化(可以直接在成员变量的定义时初始化);但局部变量一定要自己初始化,boolean类型默认为false,其他默认为0;在main中调用函数时,只要定义了构造函数并且初始化,就一定要把实参的值写到函数里,不能少参数。
MySQL实战45讲(学习笔记)

MySQL实战45讲(学习笔记)本系列是学习极客时间林晓斌的《MySQL实战45讲》系列的学习笔记。
原⽂链接:https:///column/intro/13901 基础架构:⼀条SQL查询语句是如何执⾏的?https:///fengfeng2861285642/article/details/85131474https:///u014737928/article/details/85060991https:///u012131610/article/details/9005153502 ⽇志系统:⼀条SQL更新语句是如何执⾏的?https:///fengfeng2861285642/article/details/85712388https:///u014737928/article/details/85062279https:///u012131610/article/details/9005278703 事务隔离:为什么改了还看不见?https:///u014737928/article/details/99731828https:///u012131610/article/details/9016857804 深⼊浅出索引(上)https:///u012131610/article/details/9017404105 深⼊浅出索引(下)https:///u012131610/article/details/9017695306 全局锁和表锁:给表加个字段怎么有这么多阻碍?https:///u012131610/article/details/9019993807 ⾏锁功过:怎么减少⾏锁对性能的影响?https:///u012131610/article/details/9020891308 事务到底是隔离的还是不隔离的?https:///u012131610/article/details/9022900309 普通索引和唯⼀索引,应该怎么选择?https:///u012131610/article/details/9026055810 MySQL为什么有时候会选错索引?https:///u012131610/article/details/9027003111 怎么给字符串字段加索引?https:///u012131610/article/details/9039965212 为什么我的MySQL会“抖”⼀下?https:///u012131610/article/details/9043686713 为什么表数据删掉⼀半,表⽂件⼤⼩不变?https:///u012131610/article/details/9059947714 count(*)这么慢,该怎么办?https:///u012131610/article/details/9063344215 答疑⽂章(⼀):⽇志和索引相关问题https:///u012131610/article/details/9256390816 “order by”是怎么⼯作的?https:///u012131610/article/details/9071048517 如何正确地显⽰随机消息?https:///u012131610/article/details/9074652218 为什么这些SQL语句逻辑相同,性能却差异巨⼤?https:///u012131610/article/details/9103878919 为什么只查⼀⾏的语句,也执⾏这么慢?https:///u012131610/article/details/9141115220 幻读是什么,幻读有什么问题?https:///u012131610/article/details/9148902321 为什么我只改⼀⾏的语句,锁这么多?https:///u012131610/article/details/9178131722 MySQL有哪些“饮鸩⽌渴”提⾼性能的⽅法?https:///u012131610/article/details/9296907423 MySQL是怎么保证数据不丢的?https:///u012131610/article/details/9993657224 MySQL是怎么保证主备⼀致的?https:///u012131610/article/details/10000775225 MySQL是怎么保证⾼可⽤的?https:///u012131610/article/details/10003019226 备库为什么会延迟好⼏个⼩时https:///u012131610/article/details/100090270 27 主库出问题了,从库怎么办?https:///u012131610/article/details/100112609 28 读写分离有哪些坑https:///u012131610/article/details/100112952 29 如何判断⼀个数据库是不是出问题?https:///u012131610/article/details/100113348 30 答疑⽂章(⼆):⽤动态的观点看加锁https:///u012131610/article/details/100129983 31 误删数据后除了跑路,还能怎么办?https:///u012131610/article/details/100130039 32 为什么还有kill不掉的语句?https:///u012131610/article/details/100130460 33 查这么多数据,会不会把数据库内存撑爆?https:///u012131610/article/details/97107364 34 到底可不可以使⽤join?https:///u012131610/article/details/93158401 35 join语句怎么优化https:///u012131610/article/details/97240601 36 为什么临时表可以重名https:///u012131610/article/details/97757120 37 什么时候会使⽤内部临时表https:///u012131610/article/details/97884757 38 都说InnoDB好,那还要不要使⽤Memory引擎https:///u012131610/article/details/98028479 39 ⾃增主键为什么不是连续的?https:///u012131610/article/details/98168871 40 insert语句的锁为什么这么多?https:///u012131610/article/details/98937622 41 怎么最快的复制⼀张表https:///u012131610/article/details/99406030 42 grant之后要跟着flsh privileges吗?https:///u012131610/article/details/99539832 43 要不要使⽤分区表https:///u012131610/article/details/99620613 44 答疑(三)https:///u012131610/article/details/99670766 45 ⾃增id⽤完了怎么办?https:///u012131610/article/details/99714097《MySQL实战45讲》1~15讲https:///zxcc1314/article/details/84842650《MySQL实战45讲》16~30讲https:///zxcc1314/article/details/85216128《MySQL实战45讲》31~45讲https:///zxcc1314/article/details/88087028。
马士兵hibernate学习笔记(文字整理版)

2 Hibernate原理模拟 - 什么是O/R Mapping以及为什么要有O/R Mapping (5)3 常见的0/R框架(了解) (5)4 hibernate基础配置(重点) (5)5 ID生成策略(重点 AUTO) (5)6 Hibernate核心开发接口介绍(重点) (5)7 对象的三种状态(了解) (5)8 关系映射(重点) (5)9 Hibernate査询(HQL) (5)10 在Struts基础上继续完善BBS200 (5)11 性能优化(重点) (5)12 补充话题 (5)风格 (5)1 先脉络,后细节 (5)2 先操作,后原理 (5)3 重Annotation,轻xml配置文件 (5)资源 (5)1 http://www. (5)2 hibernate zh_CN文档 (5)3 hibernate annotation references (5)环境准备 (5)1 下载hibernate-distribution-3.3.2.GA-dist (5)2 下载hibernate-annotations-3[1].4.0.GA (5)3 注意阅读hibernate compatibility matrix(hibernate 网站download) (5)4 下载slf4jl.5.8 (6)Hibernate HelloWorld (6)1 建立新java 项目,名为hibernate_0100_HelloWorld (6)2 学习建User-library-hibernate,并加入相应的jar包 (6)3 引入mysql的JDBC驱动包 (6)4 在mysql中建立对应的数据库以及表 (6)5 建立hibernate 配置文件hibernate.cfg.xml (6)6 建立Student 类 (6)7 建立Student 映射文件 Student.hbm.xml (6)8 将映射文件加入到hibernate.cfg.xml中 (6)9 写测试类Main,在Main中对Student对象进行直接的存储测试 (6)10 FAQ: (6)11 Note: (6)12 建立能力 (7)建立 Annotation 版本的 HelloWorld (7)1 创建teacher 表,create table teacher (id int primary key, name varhcar(20), title varchar(lO)); (7)2 创建Teacher 类 (7)3 在hibernate lib 中加入annotation的jar包 (7)4 参考Annotaion文档建立对应的注解 (7)5 在hibernate.cfg.xml中建立映射<mapping class:.../〉 . (7)6 参考文裆进行测试(注意文裆中缺少configure()的小bug) (7)7 FAQ: @不给提示 (7)What is and Why 0/R Mapping (7)1 JDBC操作数据库很繁琐 (7)2 Sql语句编写并不是面向对象的 (7)3 可以在对象和关系表之间建立关联来简化编程 (7)4 0/R Mapping 简化编程 (7)5 0/R Mapping跨越数据库平台 (7)6 Hibernate_0200_OR_Mapping_Simulation (7)2 toplink (8)3 jdo (8)4 JPA (8)Hibernate基础配置 (8)1 对应项目:Hibernate_0300_BasicConfiguration (8)2 介绍MSQL的图形化客户端 (8)3 hibernate.cfg.xml: hbni2ddl.auto (8)4 搭建日志环境并配置显示DDL语句 (8)5 搭建jUnit环境 (8)6 hibernate.cfg.xml:show_sql (8)7 hibernate.cfg.xml:format_sql (8)8 表名和类名不同,对表名进行配置 (8)9 字段名和属性相同 (8)10 字段名和属性名不同 (8)11 不需要psersistence的字段(不用列) (8)12 映射日期与时间类型,指定时间精度 (8)13 映射枚举类型( 比较少用) (9)14 字段映射的位置(field或者get方法) (9)15 @Lob (9)16 课外:CLOBBLOB类型的数据存取 (9)17 课外:Hibernate自定义数据类型 (9)18 hibernate 类型 (9)ID生成策略 (9)1 对应项目:hibernate_0400_ID (9)2 注意: (9)3 xml生成id (9)4 注解方式:@GeneratedValue (9)5 FAQ; (10)6 联合主键 (10)核心幵发接口介绍 (12)1 hibernate_0500_CoreAPI (12)2 Hibernate API文档需要单独下载 (12)3 Configuration (12)4 SessoinFactor (12)5 Session (12)6 SchemaExport (自动建表) (13)7 Query 接口 (13)8 Note: (13)三种对象状态 (14)1 上一个 project (14)2 三种状态的区分关键在于 (14)3 三种状态: (14)4 对这三种状态需要关注的问题是在该状态下如果进行数据库的操作会发生什么结果,比如改变属性的 (14)关系映射(重要) (15)对象之间的关系 (15)1 这里的关系映射指的是对象之间的关系,并不是指数据库的关系,本章解决的问题是当对象之间处于 (15)2 简化问题: (15)3 —对一 (15)4 —对多 (15)5 组件映射 (15)1 一对一单向外键关联 (16)2 一对一双向外键关联 (16)3 一对一单向主键关联(不重要) (17)4 一对一双向主键关联(不重要) (17)5 联合主键 (17)组件映射 (17)1 项目:hibernate_1100_component (17)2 对象关系:一个对象是另外一个对象的一部分 (17)3 数据库表:一张表 (17)4 annotation: @ Embeddable @Embbeded (17)5 xml: 使用<component,例如: (18)多对一与一对多 (18)1 多对一单向关联 (18)2 一对多单向关联 (19)3 一对多(多对一)双向关联 (19)多对多 (20)1 单向关联: (20)2 双向关联: (21)关联关系中的CRUD_Cascade_Fetch (21)1 hibernate_1700_one2many_many2one_bi_crud (21)2 设定cascade以设定在持久化时对于关联对象的操作(CUD,R归Fetch管) (21)3 cascade仅仅是帮我们省了编程的麻烦而已,不要把它的作用看的太大 (21)4 铁律:双向关系在程序中要设定双向关联 (22)5 铁律:双向mappedBy (22)6 fetch (22)7 Update时@ManyToOne()中的cascade参数关系 (22)8 Delete时@ManyToOne()中的cascade关系 (22)9 O/RMapping 编程模型 (23)10 要想删除或者更新先做load,除了精确知道ID之外 (23)11 如果想消除关联关系,先设定关系为null.再删除对应记录,如果不删记录,该记录变成垃圾数据 (23)12 练习:多对多的CRUD (23)关系映射总结 (24)1 什么样的关系,设计什么样的表,进行什么样的映射 (24)2 CRUD,按照自然的理解即可(动手测试) (24)集合映射(不太重要) (24)1 项目名称:hibernate_1800_Collections_Mapping (24)2 Set (24)3 List (与Set差不多多个@OrderBy) (24)4 Map (24)继承映射(不太重要) (24)1 三种方式 (24)作业: (24)1 学生课程、分数的设计(重要) (24)2 设计: (25)3 树状结构的设计(至关重要) (25)Hibernate 查询(Query Language) (26)HQL vs EJBQL (26)1 NativeSQL >HQL.> EJBQL(JPQL 1.0) > QBC(Query By Criteria) > QBE(Query By Example)" 262 总结:QL应该和导航关系结合,共同为査询提供服务。
MySQL实战45讲学习笔记

MySQL实战45讲学习笔记本⽂为极客时间《MySQL实战45讲》的总结笔记,如有侵权,请通知我,将⽴马删除。
建议⼤家去购买这套课程,真的是物有所值。
⽂章⽬录1&2⼀条语句的执⾏过程1. Mysql结构数据库总共分为两⼤部分:Server层和存储层,其中Server层⼜分为:连接器、(查询缓存)、分析器、优化器和执⾏器。
存储层是以插件的形式,常见的有InnoDB和MyISAM。
2. 查询语句(select * from T where id = 2)1. 通过连接器获取连接2. 查看语句是存在于查询缓存中,如果存在则直接返回,不存在则进⾏ 步骤3,Mysql 8.0版本之后已经去掉了查询缓存功能3. 通过分析器判断SQL语句是否正确(要做什么)4. 通过优化器判断使⽤哪个索引去查询(怎么做)5. 执⾏器判断是否拥有该表权限,如果有则调⽤存储引擎的拿第⼀条数据的接⼝,判断id是否是等于2,如果不等则调⽤拿下⼀条数据的接⼝,如果等于则将结果放⼊到结果集中,继续判断下⼀条。
3. ⽇志mysql中的⽇志分为两个部分:redo log 和 binlog。
redo log :这个服务于存储引擎, 这个是InnoDB引擎特有的⽇志系统binlog : 这个服务于Server层,是所有引擎都可以使⽤的。
redo log 是为了减少磁盘的读写和crash-safe⽽产⽣的,它记录了更新、删除、插⼊语句,当Mysql空闲时就从redo log中读取这些⽇志,把数据更新到磁盘中。
⽽binlog是记录做了哪些事情,当我们恢复备份信息时,可以读取binlog中的记录,然后去执⾏redo log中的记录去恢复信息。
3.1 binlogbinlog 分为3种模式,在5.5之前默认为 statement 后⾯推荐使⽤ mixed模式statement:基于SQL语句的模式,某些语句和函数如UUID, LOAD DATA INFILE等在复制过程可能导致数据不⼀致甚⾄出错。
【免费下载】尚学堂科技.马士兵.JAVA.系列视频教程 [全]
![【免费下载】尚学堂科技.马士兵.JAVA.系列视频教程 [全]](https://img.taocdn.com/s3/m/e5f180999ec3d5bbfc0a7456.png)
尚学堂科技.马士兵.JAVA.系列视频教程第一部分:J2se学习视频内容包括:尚学堂科技_马士兵_JAVA视频教程_JDK5.0_下载-安装-配置尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第01章_JAVA简介_源代码_及重要说明尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第02章_递归补充尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第02章_基础语法尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第03章_面向对象尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第04章_异常处理尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_ 第05章_数组尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第06章_常用类尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第07章_容器尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第08章_IO尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第09章_线程尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第10章_网络尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第11章_GUI尚学堂科技_马士兵_JAVA 视频教程_J2SE_5.0_专题_日期处理尚学堂科技_马士兵_JAVA视频教程_J2SE_专题_正则表达式反射avi◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第二部分:j2se练习项目视频内容包括:尚学堂科技_马士兵_在线聊天系统雏形视频教程_java_eclipse尚学堂科技_马士兵_坦克大战视频教程_java_eclipse尚学堂科技_马士兵_坦克大战图片版尚学堂科技_马士兵_JAVA_坦克大战网络版视频教程尚学堂科技_马士兵_snake_贪吃蛇内部视频涉及到项目之1俄罗斯方块.rar: 07.4 MB涉及到项目之2坦克大战视频教程.rar: 019.4 MB涉及到项目之3坦克大战视频教程_java_eclipse.rar: 0395.4 MB涉及到项目之4坦克大战图片版.rar: 0101.2 MB涉及到项目之5坦克大战网络版视频教程.rar: 0248.8 MB涉及到项目之snake_贪吃蛇视频.rar: 095.2 MB涉及到项目之在线聊天系统雏形视频教程_java_eclipse.rar: 0233.9 MB◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第三部分数据库视频Oracle视频内容包括:01——53讲avi格式◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第四部分:JDBC和MySQL视频,内容包括:1_lomboz_eclipse_jdbc2_mysql_avi3_ 连接池的设计思路.avi◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第五部分:HTML & CSS & JAVASCRIPT 视频:Html & CSS 视频内容简介:01_html 简单介绍和meta标签.avi02_a_路径问题等等.avi03_学习方法_其他常用标签.avi04_1_note.avi04_ 表格和表单_1.avi05_表格和表单_2.avi06_Frame.avi07_Dreamweaver.avi08_CSS_1.avi09_CSS_2_ 选择方式.avi10_CSS_3.avi11_CSS_4.aviJavaScript 视频简介:01_JS 初步及调试.avi02_JS基本语法.avi03_函数_事件处理_1.avi04_事件处理_2.avi05_内置对象_DOM_BOM.avi06_趣味.avi07_实用.avi08_ 表单验证.avi09_表单验证_new.avi10_后台框架.avi11_后台框架_2.avi12_TREE.avi◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第六部分:Servlet & JSP视频——内容包括:1 tomcat的安装使用,配置2 servlet & jsp 视频1——30节jsp的练习项目内容包括:3 简单bbs项目3 2007美化BBS项目4 网上商城项目视频4 网上商城项目视频讲解视频◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第七部分:J2EE学习视频包括:DRP项目框架视频学习:Struts视频Hibernate视频Spring视频提高部分:uml统一建模语言视频SSH项目视频:oa办公自动化系统视频crm项目视频银行系统视频ejb3.0视频J2ME_3G简介资料面试材料:面试题大汇总+笔记+技巧。
mysql学习笔记(一)之mysqlparameter

mysql学习笔记(⼀)之mysqlparameter基础琐碎总结-----参数化查询参数化查询(Parameterized Query )是指在设计与数据库链接并访问数据时,在需要填⼊数值或数据的地⽅,使⽤参数 (Parameter) 来给值,这个⽅法⽬前已被视为最有效可预防SQL注⼊攻击 (SQL Injection) 的攻击⼿法的防御⽅式。
下⾯将重点总结下Parameter构建的⼏种常⽤⽅法。
说起参数化查询当然最主要的就是如何构造所谓的参数:⽐如,我们登陆时需要密码和⽤户名,⼀般我们会这样写sql语句,Select * from Login where username= @Username and password = @Password,为了防⽌sql注⼊,我们该如何构建@Username和@Password两个参数呢,下⾯提供六种(其实⼤部分原理都是⼀样,只不过代码表现形式不⼀样,以此仅作对⽐,⽅便使⽤)构建参数的⽅法,根据不同的情况选⽤合适的⽅法即可:说明:以下loginId和loginPwd是户登陆时输⼊登陆⽤户名和密码,DB.conn是数据库连接,⽤时引⼊using System.Data.SqlClient命名空间⽅法⼀:SqlCommand command = new SqlCommand(sqlStr, DB.conn);command.Parameters.Add("@Username", SqlDbType.VarChar);command.Parameters.Add("@Pasword", SqlDbType.VarChar);command.Parameters["@Username"].Value = loginId;command.Parameters["@Pasword"].Value = loginPwd;⽅法⼆:SqlCommand command = new SqlCommand();command.Connection = DB.conn;mandText = sqlStr;command.Parameters.Add(new SqlParameter("@Username", loginId));command.Parameters.Add(new SqlParameter("@Pasword", loginPwd));⽅法三:Sqlcommand cmd=new Sqlcommand(sqlStr, DB.conn);cmd.parameters.add("@Username",DbType.varchar).value=loginId;cmd.parameters.add("@Pasword",DbType.varchar).value=loginPwd;⽅法四:Sqlcommand cmd=new Sqlcommand(sqlStr, DB.conn);cmd.parameters.addwithvalue("@Username",loginId);cmd.parameters.addwithvalue("@Pasword",loginPwd);⽅法五:Sqlcommand cmd=new Sqlcommand(sqlStr, DB.conn);SqlParameter para1=new SqlParameter("@Username",SqlDbType.VarChar,16);para1.Value=loginId;cmd.Parameters.Add(para1);SqlParameter para2=new SqlParameter("@Pasword",SqlDbType.VarChar,16);para2.Value=loginPwd;cmd.Parameters.Add(para2);⽅法六:SqlParameter[] parms = new SqlParameter[]{new SqlParameter("@Username", SqlDbType.NVarChar,20),new SqlParameter("@Pasword", SqlDbType.NVarChar,20),};SqlCommand cmd = new SqlCommand(sqlStr, DB.conn);// 依次给参数赋值parms[0].Value = loginId;parms[1].Value = loginPwd;//将参数添加到SqlCommand命令中foreach (SqlParameter parm in parms){cmd.Parameters.Add(parm);}法和实现⽅法的不同,也可以说是语法糖,但后记:鉴于园友对dedeyi,⿁⽕飘荡,guihwu的疑问,我在写⼀个说明。
MySQL笔记01(黑马)

MySQL笔记01(⿊马)⼀、数据库基本介绍⽬标:了解数据库的功能和常见数据库分类、数据库产品数据库基本知识数据库分类SQL简介MySQL访问1、数据库基本知识⽬标:了解数据库的概念和数据库的作⽤概念数据库:database(DB),是⼀种存储数据的仓库数据库是根据数据结构组织、存储和管理数据数据库能够长期、⾼效的管理和存储数据数据库的⽬的就是能够存储(写)和提供(读)数据2、数据库分类⽬标:了解数据库的分类模式,以及分类的依据概念数据库分类:根据数据库的架构和数据组织原理进⾏分类1、早期根据数据库的组织数据的存储模型分类层次数据库:基于层次的数据结构(数据分层)⽹状数据库:基于⽹状的数据结构(数据⽹络)关系数据库:基于关系模型的数据结构(⼆维表)2、现在较多根据实际数据管理模型分类(存储介质)关系型数据库:基于关系模型的数据结构(⼆维表)通常存储在磁盘⾮关系型数据库:没有具体模型的数据结构(键值对)通常存储在内存3、关系型数据库⽬标:了解关系型数据库的模型逻辑,了解当前流⾏的关系型数据库产品概念关系型数据库:是⼀种建⽴在关系模型上的数据库关系模型关系数据结构(存储)关系操作集合(操作)关系完整性约束(约束)关系型数据库存储在磁盘中(永久性存储)关系型数据库系统(DBS)模型有四层结构数据库管理系统(DBMS):管理系统运⾏(DataBase Management System)数据库(DB):数据存储的管理者(⼩管理,受DBMS管理)数据表(Table):数据关系管理者数据字段(Field):依赖于数据表,实际数据存储者关系型数据库产品⼤型:Oracle、DB2中型:MySQL、SqlServer⼩型:Sybase、Access4、⾮关系型数据库⽬标:了解⾮关系型数据库的概念和⼀些主流产品概念⾮关系型数据库:NoSQL(Not only SQL),不仅仅是关系型数据库所有不是关系型数据库的统称数据存储模型不是⼆维表,⽽是键值对(key->value)存储的位置通常是内存(效率⾼)不能永久性存储(需要定时存到关系型数据库中)常见的⾮关系型数据库产品MongoDBRedisMemcached对⽐NoSQL通常是与关系型数据库配合使⽤的,他们彼此是⼀种互补关系NoSQL运⾏在内存,解决效率问题I/O问题效率问题MySQL运⾏在磁盘,解决稳定问题安全问题(永久存储)稳定⼩结1、NoSQL是对⾮关系型数据库的⼀类统称NoSQL是不仅仅只是关系型数据库的意思2、NoSQL通常运⾏在内存读取效率⾼并发访问⾼稳定性不⾼(断电即丢失)3、NoSQL通常是键值对存储数据,访问也⽐较简单5、SQL基本介绍⽬标:了解SQL的作⽤和SQL的基本分类概念SQL:Structured Query Language,结构化查询语⾔,是⼀种针对关系型数据库特殊标准化的编程语⾔SQL是⼀种编程语⾔能够实现⽤户数据库查询和程序设计SQL根据操作不同,分为⼏类DQL:Data Query Language,数据查询语⾔,⽤于查询和检索数据DML:Data Manipulation Language,数据操作语⾔,⽤于数据的写操作(增删改)DDL:Data Definition Language,数据定义语⾔,⽤于创建数据结构DCL:Data Control Language,数据控制语⾔,⽤于⽤户权限管理TPL:Transaction Process Language,事务处理语⾔,辅助DML进⾏事务操作(因此也归属于DML)⼩结1、SQL虽然是编程语⾔,但是⽬前数据库通常只⽤来进⾏数据管理(逻辑部分给其他编程语⾔)2、SQL虽然是针对关系型数据库的通⽤语⾔,但是不同的产品操作指令不完全通⽤6、MySQL基本介绍⽬标:了解MySQL产品的软件结构和访问原理概念MySQL:是瑞典AB公司下的⼀款关系型数据库MySQL当前属于甲⾻⽂公司(AB->Sun->Oracle)MySQL开源免费(部分存储引擎)MySQL是⼀种C/S结构软件,因此需要MySQL的客户端来访问服务端(数据管理)mysqld.exe:服务端mysql.exe:客户端MySQL使⽤SQL指令对数据库进⾏操作访问原理mermaid graph LR A(MySQL客户端)-->B[寻找服务端<br>host寻找] B-->C[寻找服务端<br>Port寻找] C-->D[验证⾝份<br>username判定<br>password判定] D-->E((服务端))⼩结1、MySQL是⼀款流⾏的关系型数据库2、MySQL是⼀款C/S结构的软件,需要客户端访问服务端3、MySQL是基于SQL指令进⾏管理操作7、MySQL访问⽬标:掌握MySQL客户端访问服务端的基本操作,了解MySQL退出意义和操作概念MySQL访问:就是客户端连接上服务端,然后实现数据操作的过程客户端访问服务端利⽤Windows控制台访问(MySQL客户端)利⽤数据库管理⼯具(Navicat)客户端需要连接认证-h:主机地址(本机localhost可以省略)-P:端⼝号(默认3306可以省略)-u:⽤户名-p:⽤户密码MySQL登录mysql -uroot -p密码mysql -hip -uroot -p连接⽬标的密码mysql --host=ip --user=root --password=连接⽬标的密码客户端连接上服务端就表⽰占⽤了⼀个资源,可以进⾏对应权限的操作MySQL数据库连接资源有限:单个服务器最多16384个连接资源不够了其他访问就需要排队等待⽤完尽可能释放资源客户端退出服务端\qquitexit步骤1、打开客户端(CMD控制台):mysql.exe2、输⼊服务器信息(连接)和⽤户信息(验证)3、执⾏SQL操作4、断开连接⼩结1、MySQL需要通过客户端来进⾏服务端访问⾃带客户端mysql.exe:Windows下借助CMD数据库管理⼯具:Navicat,图形化管理⽀持MySQL扩展的编程语⾔:PHP、Java等2、数据库操作需要进⾏连接认证主机地址:-h,默认localhost可省略端⼝:-P(⼤写字母),默认3306可省略⽤户名:-u密码:-p(⼩写字母)3、数据库连接资源有限,⽤完即关闭8、总结1、数据库的作⽤要清楚:⾼效的存储和管理数据,为编程语⾔提供数据⽀撑2、当前市⾯上数据库的分类主要为两类关系型数据库:注重结构和数据存储的持久性⾮关系型数据库:注重数据读取的效率3、关系型数据库是⼏乎所有⽹站都会使⽤到的,必须掌握其概念4、所有关系型数据库都是基于SQL进⾏数据的操作,MySQL数据库也是(不同的数据库产品对应的SQL指令可能有细微差别)5、MySQL是⼀种C/S结构的软件,所以访问者必须通过客户端进⾏访问客户端与服务端通常不会在⼀台电脑上客户端访问服务端需要寻址、授权(-hPup)MySQL服务端的连接数是有限的,时刻注意⽤完就销毁(减少资源⽆效占⽤)。
尚学堂科技.马士兵.JAVA视频教程

中文名: 尚学堂科技.马士兵.JAVA视频教程(java培训内部视频)10年2月9日更新(更新Spring3.0)英文名: java video courses发行日期:地区: 大陆对白语言: 普通话简介:下载地址:/forum.php?mod=viewthread&tid=1832&extra=page%3D1====================================================== ============================================================ ===================2007年10月29日更新- 加入> - 视频代码的讲解请大家务必首先阅读《00_Shopping视频说明》,其中讲明了如何来阅读剩下的视频![声明:]这段视频是从尚学堂科技的教学课堂上实战录制,版权归尚学堂科技和马士兵老师共有,任何人不能用此教程牟利,违者必究。
====================================================== ======但是:在不收取其他人费用的前提下,您可以自由的分发此视频教程====================================================== ======[须知:]这些视频是以前公布的多个项目为基础的,在《00_Shopping视频说明》中有所说明,没有基础的同学应该首先阅之前的视频教程。
在此教程中,因为采用共享桌面,所以老师会经常说:“看我的桌面”,希望大家不要觉得惊奇或烦躁。
[其他文件:]在此目录下还有一个目录是[source],里面装有整个教学项目的源代码,建议大家在动手操作的过程中参考。
在此目录下还有一个[camplay.exe]文件,是观看视频所用的播放器,大家可以直接把视频文件(avi文件)直接拖放到上面进行观看。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如果你的root现在有密码了,那么修改密码为abc的命令是: mysqladmin -u root -p password youyou
注意,命令回车后会问你旧密码,输入旧密码之后命令完成,密码修改成功。
---------02_mysql_started create database mydata; //创建一个数据库 use mydata; //使用当前已经创建的数据库 create table dept //创建dept表 ( deptno int primary key, dname varchar(14), loc varchar(13)--部门位置 );
create table emp ( empno int primary key, ename varchar(10), job varchar(10), mgr int,--所属经理编号 hiredate datetime,--入职日期 sal double, comm double,--奖金 deptno int, foreign key (deptno) references dept(deptno) #外键deptno参考dept表的deptno );
?:显示帮助信息 \. 执行一个SQL的脚本文件,用一个文件名作为参数
例如 \. c:\\mysql_script\\mydata.sql
create table salgrade #创建薪水等级表salgrade ( grade int primary key, losal int, hisal int );
insert into dept values(10,'a','a'); insert into dept values(20,'b','b'); insert into dept values(30,'c','c'); insert into dept values(40,'d','d'); insert into dept(deptno,dname) values(50,'e'); insert into dept values(60,'f','f'); ---------03_page_seperation
show databases; #查看当前MYSQL环境下有多少个数据库 show tables; #查看当前使用中数据库下面有多少张表。 desc dept; #查看dept表的表结构 commit; #提交。使前面输入的一段DML语句生效
select * from dept order by deptno desc limit 3, 2; #倒序,从第3条往后数2条记录
---------04_auto_increment create table article (
id int primary key auto_increment, #创建一个自动递增字段 title varchar(255) );
insert into article values(null,'a'); #插入递增值的方式用null insert into article (title) values ('c'); #插入递增值的 方式2
---------05_datetime; select now(); #取得当前日期,其中now()是函数
select date_format(now(), '%Y-%m-%d %H:%i:%s'); //格式
化当前日期
insert into emp values(9999,'test','clerk',7369,'1981-12-23 12:23:23',8000,80,10); #插入日期,用字符串,符合日期特定格式即可
---------06_mysql_jdbc1 ---------07_mysql_jdbc2 引入相应的JAR驱动包后,输入关键代码: conn =
DriverManager.getConnection("jdbc:mysql://localhost/mydata?user=root&pa
ssword=mima"); stmt = conn.createStatement(); rs = stmt.executeQuery("select * from dept");
---------08_article_1 \. D:\share\BBS\WebContent\bbs.sql #执行一段SQL脚本语句
---------09_article_2 #数据库表里面的中文化问题 alter database bbs character set gbk; #设置字符集先 show full columns from tablename; #查看表里面(中文)字段所用的字符集 status; ## 查看全局的字符集设置,如果以下4个都为同样的,比如gbk则中文支持一定OK, ## 如果不一样,则更改my.ini默认的配置文件。 。。。 Server characterset: gbk Db characterset: gbk Client characterset: gbk Conn. characterset: gbk 。。。 #设置好字符集之后,在Lomboz eclipse下面展示就不会出现中文乱码了
#递归写书的源码如下: import java.sql.*; public class ArticleTree { public static void main(String[] args) { new ArticleTree().show(); } public void show() { Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager
.getConnection("jdbc:mysql://localhost/bbs?user=root&password=root"); tree(conn, 0, 1); } catch (ClassNotFoundException e) {
e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (conn != null) { conn.close(); conn = null; } } catch (SQLException e) { e.printStackTrace(); } } }
private void tree(Connection conn, int pid, int level) { Statement stmt = null; ResultSet rs = null;
StringBuffer strPre = new StringBuffer(""); for (int i = 1; i < level; i++) { strPre = strPre.append(" "); }
try { stmt = conn.createStatement(); String sql = "select * from article where pid = " + pid; rs = stmt.executeQuery(sql); while (rs.next()) { System.out.println(strPre + rs.getString("cont")); if (rs.getInt("isleaf") != 0) { tree(conn, rs.getInt("id"), level + 1); } } } catch (SQLException e) {
e.printStackTrace(); } finally { try { if (stmt != null) { stmt.close(); stmt = null; } if (rs != null) { rs.close(); rs = null; } } catch (SQLException e) { e.printStackTrace(); } } } }
常用命令 Set names ‘gbk’; //修改编码
select database(); #显示当前所操作的数据库 select now(); #取得当前日期,其中now()是函数
select date_format(now(), '%Y-%m-%d %H:%i:%s'); //格式
化当前日期 如果你的root现在有密码了,那么修改密码为abc的命令是:
mysqladmin -u root -p password youyou
注意,命令回车后会问你旧密码,输入旧密码之后命令完成,密码修改成功。