一、mysql的InnoDB通过建立行级索确保事务完整性。,并以Oracle风格的共享锁来处理select语句。系统默认存储为InnoDB.

二、

-- mysql 创建表
CREATE TABLE IF NOT EXISTS `runoob_tbl`(
`runoob_id` INT UNSIGNED AUTO_INCREMENT,
`runoob_title` VARCHAR(100) DEFAULT 'LWS' NOT NULL,
`runoob_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `runoob_id` )
)
如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。 -- 删除表
DROP TABLE table_name ;
TRUNCATE TABLE; 清空表数据保留表结构
--修改表
ALTER TABLE testalter_tbl
MODIFY j BIGINT NOT NULL DEFAULT 100;

三、常用函数

  ifnull(a,b) 如果a为null,则返回b

  nullif(a,b)如果 a,b相等, 返回null。否则返回a

  if(a,b,c)  如果 a 为true,不等于0,且不等于null返回 b 否则返回c。

  isnull(a) 判断a 是否为空。

  case when age <=12 then ‘小孩’

    when age > 12 and age<=18 then ‘少年’

  end;

四、PreparedStatement   Statement  CallableStatement(用于执行存储过程)

     executeQuery(String sql) 该方法执行查询语句,并且返回查询结果对应的ResultSet对象

     executeUpdate(String sql)该方法执行DML语句返回受影响的行数,执行DDL返回0;

     execute 可执行任何sql,执行后第一个结果为ResultSet对象则返回true;如果执行后第一个结果为受影响行数或者没有任何结果,返回false;

     executeLargeUpdate  statement对象操作任何一条sqk影响的记录数大于Integer.MAX_VALUE 就应该使用executeLargeUpdate,放弃executeUpdate。

     setBinaryStream(int parameterIndex,InputStream x) 指定参数传入二进制流,从而实现blob数据保存到数据库的功能。

五、PreparedStatement 预编译sql语句性能更好,防止sql注入  。

六、CallableStatement 调用存储过程  callableStatement.prepareCall(" {call 过程名称(?,?,?,?)} ");

七、事务:原子性,一致性,隔离性,持久性。

八、Connection 遇到一个未处理的SQLException异常时,系统将会非正常退出,事务也会自动回滚。但如果程序捕获了该异常,则需要在异常处理块中显示地回滚事务。

九、Java8增强的批量更新,

   批量更新必须得到底层数据库的支持,通过DatabaseMetaData的supportsBatchUpdates() 方法来查看底层数据库是否支持、

十、利用资源池用于解决频繁请求,释放造成的性能下降。连接池程序启动时就建立足够的数据库连接,并将这些连接组成一个连接池。每次请求数据库请求数据库连接时么无须重新打开连接,而是从连接池中取出已有的连接使用,使用完后不再关闭数据库连接,而是直接将连接归还给连接池。

java 重新学习 (七)的更多相关文章

  1. JAVA多线程学习七-线程池

    为什么用线程池 1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率 例如: 记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程消耗时间T3 如果T1+T3> ...

  2. java web 学习七(HttpServletResponse对象1)

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要 ...

  3. Java基础学习(七) - 异常处理

    1.异常概念 异常指的是程序在执行过程中出现的非正常的情况,导致JVM的非正常停止.在Java中,异常是一个类,产生异常就是创建异常对象并抛出一个异常对象. 异常指的并不是语法错误,语法错误,编译不会 ...

  4. Java开发学习(七)----DI依赖注入之自动装配与集合注入

    一.自动配置 上一篇博客花了大量的时间把Spring的注入去学习了下,总结起来就两个字麻烦.麻烦在配置文件的编写配置上.那有更简单方式么?有,自动配置 1.1 依赖自动装配 IoC容器根据bean所依 ...

  5. Java进阶学习:将文件上传到七牛云中

    Java进阶学习:将文件上传到七牛云中 通过本文,我们将讲述如何利用七牛云官方SDK,将我们的本地文件传输到其存储空间中去. JavaSDK:https://developer.qiniu.com/k ...

  6. Java NIO 学习笔记(七)----NIO/IO 的对比和总结

    目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...

  7. 201871010106-丁宣元 《面向对象程序设计(java)》第七周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第七周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...

  8. Java IO学习笔记七:多路复用从单线程到多线程

    作者:Grey 原文地址:Java IO学习笔记七:多路复用从单线程到多线程 在前面提到的多路复用的服务端代码中, 我们在处理读数据的同时,也处理了写事件: public void readHandl ...

  9. Java Web 学习路线

    实际上,如果时间安排合理的话,大概需要六个月左右,有些基础好,自学能力强的朋友,甚至在四个月左右就开始找工作了.大三的时候,我萌生了放弃本专业的念头,断断续续学 Java Web 累计一年半左右,总算 ...

  10. Java多线程学习(转载)

    Java多线程学习(转载) 时间:2015-03-14 13:53:14      阅读:137413      评论:4      收藏:3      [点我收藏+] 转载 :http://blog ...

随机推荐

  1. ASP.NET MVC5 +Abp 模板(Startup Templates)

    官网:https://aspnetboilerplate.com/Templates 系统登陆初始账号:admin 密码:123qwe 调试错误: 1.在多语句事务内不允许使用 CREATE DATA ...

  2. mpvue中的平台状态判断(H5网页 or 小程序)

    在开发微信小程序或者微信网页H5的时候,有时我们利用外部组件可能不兼容这两者,需要区分开来,可以在对应的mainjs中配置如下 let platform: try{ if(wx){ platform= ...

  3. AES加密的C语言实现

    摘自网上一种AES加密,用C语言实现通过32字节密钥对16字节长度数据进行加密. #include <string.h> #include <stdio.h> #ifndef ...

  4. shell脚本实现ftp上传下载文件

    前段时间工作中需要将经过我司平台某些信息核验数据提取后上传到客户的FTP服务器上,以便于他们进行相关的信息比对核验.由于包含这些信息的主机只有4台,采取的策略是将生成的4个文件汇集到一个主机上,然后在 ...

  5. elasticsearch索引清理脚本shell

    es-index-clear.sh: #!/bin/bash#----------------------------------------------# Module: es-index-clea ...

  6. springboot dubbo logback shutdownhook简单总结

      public class Test { public static void main(String[] args){ System.out.println("1: Main start ...

  7. Java数据类型转换题目

    题目一 public static void main(String[] args) { byte b1 = 1, b2 = 2, b3, b6, b8; final byte b4 = 4, b5 ...

  8. XML及XML的解析

    XML的用途 充当显示数据(以XML充当显示层) 存储数据的功能 以XML描述数据,并在联系服务器与系统的其余部分之间传递.(传输数据的一种格式),从某种角度来讲,XML是数据封装和消息传递技术 SA ...

  9. python3修改文件指定行

    方法可以有三个,但其实是一个方法,因为不同的方法都是文件存储的方法,文件修改就只有一个方法: 将文件导入list后,重新写入文件(另一个文件或者当前文件) 1.当前文件读取后,list修改内容,写入另 ...

  10. Linux自用指令——2019年10月23日

    1.ls ls命令是列出目录内容(List Directory Contents)的意思.运行它就是列出文件夹里的内容,可能是文件也可能是文件夹. ls -a 列出目录所有文件,包含以.开始的隐藏文件 ...