原生态JDBC总结

在学习任何一种ORM的时候,免不了都要让我们想起原生态的JDBC是如何写的,因为只有这样你才能感受到为什么要用到新的ORM产品,

诸如学习hibernate等等。jdbc顾名思义的意思是java的数据库连接(java database connectity).它是一种执行sql的javaAPI,可以为多种数据库提供统一的访问基准。

  一般执行jdbc的流程是这样的:1,加载数据库的驱动 2,获得连接 3,向数据库发起sql请求 4,获取返回数据库处理的结果 5,处理数据库返回的结果 6,释放资源。

  package jdbc;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

public class jdbcDemo {

public static void main(String[] args) throws SQLException {

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

// 1注册驱动

try {

Class.forName("com.mysql.jdbc.Driver");

// 2获得连接

conn = DriverManager.getConnection(

"jdbc:mysql://localhost:3306/test", "root", "root");

System.out.println("数据库连接成功。。。");

// 3编写sql语句

// String sql = "select * from userName where username=?";

String sql = "select * from userName ";

ps = conn.prepareStatement(sql);

// ps.setString(1, "world");

// 4执行sql

rs = ps.executeQuery();

// 5处理结果集

while (rs.next()) {

System.out.println(rs.getString("id") + " "

+ rs.getString("username"));

}

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

// 6关闭资源

if (rs != null) {

rs.close();

}

if (ps != null) {

ps.close();

}

if (conn != null) {

conn.close();

}

}

}

}

  用jdbc编码的方式的缺点

1,数据库的连接使用时就创建 不使用时就关闭 每次连接数据库 对数据库进行频繁的操作 导致资源严重被浪费 一开一闭

2,sql语句被写到java代码中 如果数据库表改变了 就必须重新编写java类

3,设置参数比较麻烦,必须明确知道参数的位置,要不然会出错

4,结果集处理比较繁琐 获取结果时存在大量的手工操作,如果一张表有十几个字段的话就需要十几次rs.get语句,造成大量的重复工作

你可能感兴趣的:(原生态JDBC总结)