java连接数据库
刷新权限: flush privileges;
1、 DCL操作 项目经理 或 DBA
管理用户
创建用户,给与用户操作数据的权限
创建一个地址 用户名为小月月 所在数据库主机地址是 localhost 初始化密码
create use 'xiaoyueyue'@'localhost' identified by '111111';
授予新用户权限
grant all on javaee1707.*to'xiaoyueyue'@'localhost';
取消权限
rekvoke all on javaee1707.* from 'xiaoyueyue'@'localhost';
删除权限
drop user 'xiaoyueyue'@'localhost';
2、DTL 事务处理 【非常重要】
银行 从xxx的账户转账给我 20w。双方账户不能出现任何问题
在mySQL中 提供了 ctrl + z 的操作(撤销)
开启事务
开启事务方式一: start transaction
------\回滚 如果造作的过程中发生了异常。可以混滚到事务开始之前 包含数据
方式二:set autocommit = 0;
提交事务开始之后的所有操作;
commit
使用命令行导入导出数据库
使用命令行导入导出 要求:在未登陆状态
导出的是一个 .sql文件。里面包含了素有的数据库操作信息
导出数据库:mysqldump -uroot -p 数据库名 > 数据库名.sql
导入数据库 要求导入的指定数据库 必须存在 (要求数据库中必须先创建好一个数据库来接收数据)
mysql -uroot -p 要导入到的数据库的名字 < 数据库名.sql;
JDBC 介绍
java database connectivity
常用数据库 MySQL Oracle AQLServer
为了简化 同意对数据库的操作,Java中定义了一套操作数据库的规范,JDBC
JDBC主要是通过接口实现的 组成JDBC的有两个包
java.sql javax.sql 这两个包是在JavaSE中包含的
需要导入JDBC的实现类才可以使用,这个实现类不是sun公司提供的,是由第三方数据库提供商来完成
JDBC主要的接口和类
Driver接口:连接数据库的驱动API 会用到反射 class.foeName('完整的类名');包名.类名
DriverManager : 驱动管理类 ,负责驱动的注册(加载),获取数据库连接
Statement 接口:负责SQL语句的执行
PreparedStatement--| 负责SQL语句的预处理,(预先加载)
ResultSet: 处理 查询数据库的 结果集
获取mysql的JDBC jar包
把jar包导入到项目中
1、在项目下新建libs目录
2、复制jar包到libs目录下
3、在jar包商右键 ->build path ->add to build path
通过JDBC连接数据库
1、确定数据库的URL 统一资源定位符
jdbc:mysql://localhost:3306/javaee1707?SSL = true
协议:子协议://ip:端口号/数据库?参数
协议:JDBC总协议
子协议:目前使用的是连接MySQL数据库的协议
IP: 是服务器的IP地址,localhost表示的是本机的IP地址
3306:mysql数据库默认的端口号,可以修改
数据库:目前连接的数据库是哪一个
参数:常用参数。例如 useUnicode = true&chacacterEncoding = ut-8
2、连接数据库需要用户名和密码
JDBC连接到数据库的推荐方式
1、注册驱动 JDBC连接MySQL
Class.forName("com.mysql.jdbc.Driver");
会加载com.mysql.jdbc.Driver类文件到内存当中,而在这个类文件中有以下一段代码
static {
try {
java.sql.DriverManager.registerDriver(new Driver());
} catch (SQLException E) {
throw new RuntimeException("Can't register driver!");
}
}
这个代码是一个静态代码快,它会在类文件加载到内存的时候直接运行。
这个代码块完成了以下事情
1、创建的MySQL连接的Java程序的JDBC.Driver(驱动)对象
2、将这个创建的Driver对象,注册到java.sql.DriverManager(驱动管理器)里面。
这样好处:简化代码逻辑
2、准备URL 是JDBC连接MySQL数据库的URL
String url = "jdbc:mysql://localhost:3306/数据库名 ? SSL=true";
3、通过DriverManager获取到连接对象
Connection conn = DriverManager.getConnection(url,"root","password");
4、关闭数据库连接释放资源
conn.close();