备份和还原java
备份: mysqldump -u 用户名 -p 密码 数据库 > 文件名 还原: 登陆使用数据库 use 数据库 source 文件名
设置事务回滚点mysql
设置事务回滚点: savepoint 名字 回到回滚点: rollback to 名字
JDBC的本质就是定义了一套操做全部关系型数据库(MySQL、Oracle等)的规则/接口。sql
若是数据库出现乱码,能够指定参数: ?characterEncoding=utf8,表示让数据库以 UTF-8 编码来处理数据。 jdbc:mysql://localhost:3306/数据库?characterEncoding=utf8
1) 须要释放的对象: ResultSet 结果集, Statement 语句, Connection 链接 2) 释放原则:先开的后关,后开的先关。 ResultSet Statement Connection 3) 放在哪一个代码块中: finally 块
方法 | 描述 |
---|---|
boolean next() | 1) 游标向下移动 1 行 2) 返回 boolean 类型,若是还有下一条记录,返回 true,不然返回 false |
数据类型 getXxx() | 1) 经过字段名,参数是 String 类型。返回不一样的类型 2) 经过列号,参数是整数,从 1 开始。返回不一样的类型 |
SQL 类型 | Jdbc 对应方法 | 返回类型 |
---|---|---|
BIT(1) bit(n) | getBoolean() | boolean |
TINYINT | getByte() | byte |
SMALLINT | getShort() | short |
INT | getInt() | int |
BIGINT | getLong() | long |
CHAR,VARCHAR | getString() | String |
Text(Clob) Blob | getClob getBlob() | Clob Blob |
DATE | getDate() | java.sql.Date 只表明日期 |
TIME | getTime() | java.sql.Time 只表示时间 |
TIMESTAMP | getTimestamp() | java.sql.Timestamp 同时有日期和时间 |
java.sql.Date、 Time、 Timestamp(时间戳),三个共同父类是: java.util.Date数据库
Statement对象每执行一条sql语句,都会先将sql语句发送给数据库,数据库先编译sql,再执行。若是有1万条相似的sql语句,数据库须要编译1万次,执行1万次,效率低。
PrepareStatement会先将sql语句发送给数据库预编译。PrepareStatement会引用预编译后的结果,能够屡次传入不一样的参数给PrepareStatement对象,并执行。若是有1万条相似的sql语句,数据库只须要编译1次,传入1万次不一样的参数并执行,减小了sql语句的编译次数,提升了执行效率。还能够有效防止sql注入问题,安全性更高。
API安全
Connection 接口中与事务有关的方法 | 说明 |
---|---|
void setAutoCommit(boolean autoCommit) | 参数是 true 或 false 若是设置为 false,表示关闭自动提交,至关于开启事务 |
void commit() | 提交事务 |
void rollback() | 回滚事务 |