2022-8-18第一组孙乃宇JDBC
作者:互联网
JDBC
-
概念:Java DataBase connectivity Java数据库连接,Java语言操作数据库
JDBc本质∶其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程 ,真正执行的代码是驱动jar包中的实现类。
快速入门
1.导入驱动jar包
1. 复制 mysql-connector-java-5.1.37-bin.jar 到项目的libs目录中
2.右键-->Add as Library
2.注册驱动
3.获取数据库连接对象connection
4.定义sql
5.获取执行sql语句的对象statement
6.执行sql,接受返回结果
7.处理结果
-
释放资源
详解各个对象
DriverManager:驱动管理对象
功能:1.注册驱动:告诉程序该使用哪一个数据库驱动jar
static void registrDriver(Driver driver):注册与给定的驱动程序DriverManager。
写代码使用:Class.forName("com.mysql.jdbc.Deiver");
通过查看源码发现:在com.mysql.jdbc.Driver 类中存在静态代码块
static {
try {
DriverManager.registerDriver(new Driver());
} catch (SQLException var1) {
throw new RuntimeException("Can't register driver!");
}
}
注意:mysql之后的驱动jar包可以省略注册驱动时的步骤
-
获取数据库连接
方法:static Connection getConnection
参数:url:指定连接的路径
语法:jdbc:mysql://ip地址(域名):端口号/数据库名称
例子:jdbc:mysql://localhost:3306/db3
细节:如果连接的时本机mysql服务器,并且mysql服务器默认端口号是3306,则 url可以简写为:jdbc:mysql:///数据库名称
user:用户名
password:密码
Connection:数据库连接对象
-
功能:获取执行sql的对象
Sstatement createStatement ()
PreparedStatement prepareStatement(String sql)
-
管理事务
开启事务: void setAutoCommit(boolean autoCommit) 此连接的自动提交模式设置为给定状态。
提交事务:commit()
归滚事务:rollback()
Statement执行sql的对象
执行sql的对象:用于执行静态 SQL 语句并返回它所生成结果的对象。
-
执行sql
-
boolean execute(String sql):可以执行任意的sql (了解)
-
int executeUpdate(String sql): 执DML(insert,update,delete) 语句、DDL(create,alter,drop)语句
返回值:int 影响的行数,可以通过这个影响的行数判断DML语句是否执行成功 返回值>0的则执行成成功,反之,则失败。
-
ResultSet executeQuery(String sql):执行DQL(select)语句
-
@Test
public void test01() throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException, SQLException {
String url = "jdbc:mysql://127.0.0.1:3306/db4?userUnicode=true&characterEncoding=utf8";
String username = "root";
String password = "root";
String driverName = "com.mysql.jdbc.Driver";
//1.加载驱动类
Class clazz = Class.forName(driverName);
//2.实例化Driver对象
Driver driver = (Driver) clazz.getDeclaredConstructor().newInstance();
//3.注册驱动
DriverManager.registerDriver(driver);
//4.获取连接
Connection connection = DriverManager.getConnection(url, username, password);
//执行sql的步骤
//1.获取连接
statement = connection.createStatement();
//2.定义sql
//3.执行sql语句
String sql="insert into teacher (id,name) values (6,'Jay')";
String delete="DELETE FROM teacher WHERE id=5";
String update="update teacher set name='sun' where id=3";
//返回值是执行sql语句的行数
//4.处理执行sql的返回值
//int i = statement.executeUpdate(sql);
int i = statement.executeUpdate(update);
System.out.println("影响的行数"+i);
}
标签:jdbc,String,18,数据库,sql,2022,mysql,执行,孙乃宇 来源: https://www.cnblogs.com/sunnaiyu/p/16599837.html