概念:java database connectivity java数据库连接 java语言操作数据库
定义了一套操作所有关系型数据库的规则(接口)
本质:其实是官方公司定义了一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包,我们可以使用这套接口(jdbc)编程,真正执行的是驱动jar包中的实现类
//1.导入驱动jar包
//2.注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//3.获取数据库连接对象
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/stduent","root","zt041202");
//定义sql语句
String sql="update zt235 set age=88 whereid=1;"; ----操作数据库的语言
//获取执行sql语句的对象statement
Statement stmt=conn.createStatement();
//执行sql
Int count = stmt.executeUpdate(sql);
//处理结果
System.out.println(count);
//释放资源
stmt.close();
conn.close();
详解对象:
1.DriverManager:驱动管理对象
功能:
1.注册驱动:
告诉程序该使用那个数据库驱动jar(注册驱动可以不写因为自带包写了)
2.获取数据库连接
方法:static connection getconnection(string url,string user ,string password)
参数:
url:指定连接的路径
语法:jdbc:mysql://ip地址(域名):端口号/数据库名称
eg:jdbc:mysql://localhost:3306/stduent
如果连接的是本机的mysql服务器,并且mysql服务默认端口是3306,那么url可以简写为:jdbc:mysql:///数据库名称
user:用户名
password:密码
2.Connection:数据库连接对象
功能:
1.获取执行sql的对象
- Statement(返回对象) createstatement
- Preparedstatement(返回对象) Preparestatement(string sql)
2.管理事务:
- 开启事务:setautocommit(boolean autocommit):调用该方法设置为false 就是开启事务
- 提交事务:commit()
- 回滚事务:rollback()
3.Statement:执行sql的对象
1.执行sql
- Boolean execute(string sql):可以执行任意的sql语句
- int executeupdata(string sql):执行DML(增删改表数据)语句、DDL(创建 删除 修改表)语句
- 返回值:受影响的行数,通过行数来判断是否执行成功sql语句
- Resultset(结果集) executequery(string sql):执行DQL(select对表操作)语句
练习:
操作表的语句(rs为结果集对象)
4.Resultset:结果集对象()
- next() 游标向下移动一行 游标最开始在最上面一行并且判断是否是最后一行,如果返回false就是没有数据了
- getxxx(参数):获取数据
- xxx:代表数据类型 eg:int getint() string getstring()
- 参数:
- Int :代表列的编号 从1开始
- string:代表列名称 getdouble(“name”)
- 注意:
- 游标向下移动一行
- 判断是否有数据
- 获取数据
5.Preparedstatement:执行sql对象
在catch里面进行事务回滚