首页 > 学院 > 开发设计 > 正文

JDBC小例子

2019-11-10 22:11:29
字体:
来源:转载
供稿:网友
JDBC介绍JDBC(java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。JDBC 可以做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。小例子环境要求jdk 1.8.0_112eclipse Neon.2 Release (4.6.2)MySQL mysql-connector-java-5.1.0-bin.jar目录结构代码展示(重点看注释)
import java.sql.Connection;import java.sql.DriverManager;import java.sql.PReparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class TestJDBC {	public static void main(String[] args) {		// 数据库连接		Connection connection = null;		// 预编译的Statement(操作数据库),		// PreparedStatement预编译的,相同的sql语句,只编译一次,存到缓存中,下次访问如果sql语句相同,直接调用缓存,提高数据库性能		PreparedStatement preparedStatement = null;		// 结果集对象		ResultSet resultSet = null;		try {			// 加载数据库驱动			Class.forName("com.mysql.jdbc.Driver");			// 通过驱动管理类获取数据库链接			connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8","root",null);			// 定义sql语句 ?表示占位符			String sql = "select * from user where username = ?";			// 获取预处理statement			preparedStatement = connection.prepareStatement(sql);			// 设置参数,第一个参数为sql语句中参数的序号(从1开始),第二个参数为设置的参数值			preparedStatement.setString(1, "王五");			// 向数据库发出sql执行查询,查询出结果集			resultSet = preparedStatement.executeQuery();			// 添加、修改、删除执行 preparedStatement.executeUpdate();			// 遍历查询结果集			while (resultSet.next()) {				System.out.println(resultSet.getString("id") + "  " + resultSet.getString("username"));			}		} catch (Exception e) {			e.printStackTrace();		} finally {			// 释放资源(倒着释放:结果集->预处理对象->数据库连接)			if (resultSet != null) {				try {					resultSet.close();				} catch (SQLException e) {					// TODO Auto-generated catch block					e.printStackTrace();				}			}			if (preparedStatement != null) {				try {					preparedStatement.close();				} catch (SQLException e) {					// TODO Auto-generated catch block					e.printStackTrace();				}			}			if (connection != null) {				try {					connection.close();				} catch (SQLException e) {					// TODO Auto-generated catch block					e.printStackTrace();				}			}		}	}}步骤说明1.加载数据库驱动2.创建并获取数据库链接3.创建jdbc statement对象4.设置sql语句5.设置sql语句中的参数(使用preparedStatement)6.通过statement执行sql并获取结果7.对sql执行结果进行解析处理8.释放资源(resultSet、preparedstatement、connection)问题分析1.数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。2.硬编码部分过多,不易维护,Sql语句、占位符、参数等等。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表