JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据。
JDBC中主要的设计模式
- 桥接模式 (主要)
- 工厂模式
- 单例模式
- 装饰者模式
前提:导包
1)配置信息mysql mysql-connector-java8.0.25
-
如果选用后面第二种方式加载驱动,直接new,此处驱动不用显式指明,可以省略
// mysql-connector-java 6及以上用:com.mysql.cj.jdbc.Driver String driver = "com.mysql.cj.jdbc.Driver"; // mysql-connector-java 6 以下用 com.mysql.jdbc.Driver String driver = "com.mysql.jdbc.Driver";
- url
// 新版驱动需要加安全检查:useSSL=true // 连接符 & 及转义符 & ,因配置环境不同,有时可以直接用 &,有时需要转义 & String url = "jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf8"; String url = "jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf8"; String url = "jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT"; String url = "jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8";
- 用户名
String username = "root";
- 密码
String ps = "123456";2)加载驱动
- 方式一:反射
Class.forName(driver);
- 方式二:直接创建new
// com.mysql.cj.jdbc.Driver() DriverManager.registerDriver(new Driver());3)连接数据库
连接成功后的 Connection 对象就相当于数据库
Connection connection = DriverManager.getConnection(url, username, ps);4)获取SQL对象
SQL对象(Statement、PreparedStatement)
PreparedStatement:预编译SQL对象,SQL语句中指明占位符
Statement statement = connection.createStatement();5)编写SQL
String sql = "select * from people";6)执行SQL
ResultSet resultSet = statement.executeQuery(sql);7)输出结果
// ---输出--- while (resultSet.next()) { System.out.print(" id:" + resultSet.getObject("id")); System.out.print(" name:" + resultSet.getObject("name")); System.out.println(); }8)关闭/释放
关闭连接/释放资源
先关里层、后关外层
resultSet.close(); statement.close(); connection.close();
总结
只有第5步编写SQL语句需要变化,其余步骤基本上固定,不需要变化;可以把这个执行过程封装起来使用
3、事务 1)开启// 默认自动提交 // 设为false,相当于关闭自动提交,需要手动提交,等价于开启事务 connection.setAutoCommit(false);2)提交
connection.commit();3)回滚
connection.rollback();
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)