JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。
JDBC(Java DataBase Connnectivity),是一套面向对象的应用程序接口,指定了统一的访问各种关系型数据库的标准接口。JDBC是一种底层的API,因此访问数据库时需要在业务逻辑层中嵌入SQL语句。SQL语句是面向关系的,依赖于关系模型,所以通过JDBC技术访问数据库也是面向关系的。JDBC技术完成以下几个任务:
1、与数据库建立一个连接;
2、向数据库发送SQL语句;
3、处理从数据库返回的结果。
需要注意的是,JDBC并不能直接访问数据库,必须依赖于数据库厂商提供的JDBC驱动程序。比如,MySQL提供的JDBC驱动程序就是mysql-connector-java-(版本号,如5.1.32),在MySQL官网上下载,选择indevelepment platform,下载下来的是一个压缩包,解压后可得到包含Executable Jar File在内的若干文件。
在Eclipse开发环境下,对于需要安装JDBC驱动程序的项目,右键->Build Path->Configure Build Path,选择 Add External JARs 按钮,将 Executable Jar File添加进来,这样就完成了对JDBC驱动程序的加载。
<pre name="code" class="java">package database;
import java.sql.*;
/*
* Connection -> Statement -> ResultSet
*/
public class Test{
static Connection con;
static PreparedStatement sql;
static ResultSet res;
public Connection gettheConnection(){
try{
//加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
System.out.println("数据库加载成功");
}catch(ClassNotFoundException e){
e.printStackTrace();
}
try{
//获取与指定数据库zyr的连接
con = DriverManager.getConnection("jdbc:"+"mysql://localhost:3306/zyr","root","******");//三个参数分别是数据库路径,账户名,密码
System.out.println("数据库连接成功");
}catch(SQLException e){
e.printStackTrace();
}
return con;
}
public static void main(String[] args){
Test c = new Test();
con = c.gettheConnection();//将 连接数据库 单独作为一个方法,程序模块化,需要是直接调用即可
try{
sql = con.prepareStatement("select * from weibo_author");
res = sql.executeQuery();//executeQuery()执行给定的SQL语句
//如果 static Statement sql;
//sql = con.createStatement();
//res = sql.executeQuery("select * from weibo_author where id=2");
while(res.next()){
String id = res.getString("id");//res.getString(1)
String name = res.getString("name");//res.getString(2)
System.out.println("编号"+id);
System.out.println("姓名"+name);
}
System.out.println("........");
sql = con.prepareStatement("insert into weibo_author values(?,?)");
sql.setInt(1, 10);
sql.setString(2,"zyrzyr");
sql.executeUpdate();//executeUpdate()方法是在PreparedStatement对象中执行SQL语句,该语句必须是一个DML语句(增删改查)
sql = con.prepareStatement("select * from weibo_author");
res = sql.executeQuery();//executeQuery()执行给定的SQL语句
while(res.next()){
String id = res.getString("id");//res.getString(1)
String name = res.getString("name");//res.getString(2)
System.out.println("编号"+id);
System.out.println("姓名"+name);
}
}catch(SQLException e){
e.printStackTrace();
}
}
}