时间:2021-07-01 10:21:17 帮助过:4人阅读
2.创建数据库的连接
JDBC连接的URL书写形式:协议:子协议:数据源标识 。
其中:
协议:在JDBC中总是以jdbc开始 。子协议:是桥连接的驱动程序或是数据库管理系统名称。 数据源标识:标记找到数据库来源的地址与连接端口。
String URL = "jdbc:mysql://127.0.0.1:3306/mybatis?characterEncoding=utf-8";
String USER = "root";
String PASSWORD = "123456";
创建数据库连接的代码:
Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
3.创建Statement
要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3 种类型:
代码如下:
String name = "中国";
//预编译
String sql = "select * from country where countryname=?";
PreparedStatement statement = conn.prepareStatement(sql);
statement.setString(1, name);
4.执行SQL语句
Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate 和execute
代码如下:
ResultSet rs = statement.executeQuery();
5.处理结果
两种情况:
ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。
使用结果集(ResultSet)对象的访问方法获取数据,代码如下:
while (rs.next()) {
logger.info(rs.getString("countryname") + " " + rs.getString("countrycode"));
}
6.关闭JDBC对象
操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:
代码如下:
rs.close();
statement.close();
conn.close();
7.原生JDBC访问类
全部代码如下:
package com.taoxi.study.jdbc; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.sql.*; public class NativeJDBC { private static Logger logger = LoggerFactory.getLogger(NativeJDBC.class); public static void query() throws Exception { String URL = "jdbc:mysql://127.0.0.1:3306/mybatis?characterEncoding=utf-8"; String USER = "root"; String PASSWORD = "123456"; // 1.加载驱动程序 try { Class.forName("com.mysql.jdbc.Driver"); // 2.获得数据库链接 Connection conn = DriverManager.getConnection(URL, USER, PASSWORD); // 3.通过数据库的连接操作数据库,实现增删改查(使用Statement类) String name = "中国"; //预编译 String sql = "select * from country where countryname=?"; PreparedStatement statement = conn.prepareStatement(sql); statement.setString(1, name); ResultSet rs = statement.executeQuery(); // 4.处理数据库的返回结果(使用ResultSet类) while (rs.next()) { logger.info(rs.getString("countryname") + " " + rs.getString("countrycode")); } // 关闭资源 rs.close(); statement.close(); conn.close(); } catch (ClassNotFoundException e) { logger.error("error:", e); throw e; } catch (SQLException e) { logger.error("error:", e); throw e; } } }
完整项目的github地址:https://github.com/taoxibj/study/tree/master/jdbc
使用原生JDBC方式对数据库进行操作
标签:table string tree char code name cto 加载驱动 gis