您的位置:首页 > 其它

JDBC简单查询 菜鸟入门

2016-03-22 11:43 363 查看
以前学习JDBC的时候很多不懂的地方,后来慢慢用多了 也就会了,但是后来一直使用各种框架,对JDBC有一点遗忘 今天我们就来看看JDBC技术 到底如何使用 所谓的JDBC就是 连接数据库的一套API 也就是一套方法罢了,下面他们提供几个常用的接口和类

DriverManger 驱动程序管理类 用于 装载驱动程序 并为创建数据库连接提供支持

Connection 接口 用于连接某一数据库

Statement 用于执行Sql语句 他下面有两个常用子接口

preparStatement是Statement下的子接口 用于执行预编译的Sql语句防止sql注入 经常使用

ResultSet 该接口用于对我们查询到的结果集合进行处理

首先我们创建一张表 我使用的是数据库操作软件是Navice 创建一张t_user表



里面有 ID主键 一个name 一个age列

我再这里使用的是mySql数据库 所以我要导入Mysql的驱动包 复制到lib目录下并构建到配置路径中



下面是我们使用JDBC的步骤在网上找的图片



package com.hljex.Dao;
import java.sql.DriverManager;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;

public class JdbcTool {
private static  Connection con = null;

public static  Connection GetConnection(){
//创建一个JdbcTool 工具类 用于专门得到数据库链接
try {
//加载mysql驱动
Class.forName("com.mysql.jdbc.Driver");
//获取数据库链接对象
con =  (Connection)   DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return con;
}

}

接下来我们使用Statement 做一个查找 当然我们一般都是使用preparStatement 因为这个可以防止sql注入是预先编译SQL 语句的


下面是我们做了一个简单的查询

package com.hljex.Dao;

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

public class JdbcDao {
public static void  TestDao() throws ClassNotFoundException, SQLException{
//我们建立三个变量
Connection con = null; //用于连接数据库
Statement str = null;//用于向数据库发送sql语句
ResultSet  resu = null;//用于处理我们查找到的结果集
Class.forName("com.mysql.jdbc.Driver");
//获取连接对象 传入要连接的数据库地址 并传入用户名称和密码
con = (Connection)JdbcUtil.GetConnection();
//创建sql语句
String sql = "select * from t_user";
//获取发送sql语句Statement对象
str = (Statement) con.createStatement();
//执行sql
resu = str.executeQuery(sql);
//打印出我们查询到的数据
while (resu.next()) {
System.out.println(resu.getInt("pk_id"));
System.out.println(resu.getString("f_name"));
}

}

//创建main方法 调用TestDao() 抛出异常信息
public static void main(String[] args) throws ClassNotFoundException, SQLException {
TestDao();

}

}


查询结果:



当然我们也要使用经常用到的preparStatement 预编译的对象嘛

package com.hljex.Dao;

import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

public class JdbcDao {
public static void  TestDao() throws ClassNotFoundException, SQLException{
//我们建立三个变量
Connection con = null; //用于连接数据库
PreparedStatement str = null;//用于向数据库发送sql语句
ResultSet  resu = null;//用于处理我们查找到的结果集
Class.forName("com.mysql.jdbc.Driver");
//获取连接对象 传入要连接的数据库地址 并传入用户名称和密码
con = (Connection)JdbcUtil.GetConnection();
//创建sql语句
String sql = "select * from t_user";
//获取发送sql语句PreparedStatement对象    最大的区别就是 这里我们获取sql执行对象的时候是要把Sql语句传入过去的
str = (PreparedStatement) con.prepareStatement(sql);
//执行sql
resu = str.executeQuery();
while (resu.next()) {
System.out.println(resu.getInt("pk_id"));
System.out.println(resu.getString("f_name"));
}

}

//创建main方法 调用TestDao() 抛出异常信息
public static void main(String[] args) throws ClassNotFoundException, SQLException {
TestDao();

}

}


当然我们也是查询出来的

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: