Java是通过JDBC技术实现对数据的访问的,JDBC是java数据库(Java database connectivity)技术的简称,它充当java应用程序与各种不同的数据库之间的媒介,把数据持久化,这就是一种持久化机制.
由Sun公司提供的,包括java应用程序的各种不同数据库交互的接口,如connection (连接) Statement(执行sql命令) ResultSet(返回结果集) PreparedStatement 接口.
JDBC驱动管理程序,负责各种不同的jDBC驱动,把Java应用程序连接到jDBC驱动程序上,位于jdk的java.sql包下面
由各厂家提供的,负责连接不同的数据库,mysql和oracle需要不同的数据库。
Connection conn=DriverManager.getConnection(“连接字符串“,”用户名”,”密码”);
Statement st=conn.createStatement();
ResultSet rs=statement.executeQuery(“sql语句”);
While(rs.next()){
Int id=rs.getInt(“id”); 或者 int id=rs.getInt(0);
};
package cn.jbit.example02;
import java.sql.Connection;
import java.sql.DriverManager;
public class example02 {
public static void Main(String[] args) {
Connection conn=null;
//加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
}
try {
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/myschool","root","root");
logger.warn("连接成功");
System.out.println("连接成功");
} catch (Exception e) {
}finally {
try {
if(null!=conn) {
conn.close();
System.out.println("关闭连接成功!!");
}
} catch (Exception e) {
}
}
}
}
Connection接口的常用方法
方法名称 |
作用 |
Void close() |
立即释放 连接资源 |
Statement crementstatement() |
创建一个Statement的对象,来讲sql语句发送到数据库 |
PreparedStatement preparedStatement(String sql) |
创建一个preparedStatement对象将参赛化的sql语句发送到数据库 |
Boolean isCloseed() |
查询connection是否关闭 |
Statement接口的常用方法
方法名称 |
作用 |
Result ExecuteQuery(String sql) |
执行sql查询并且返回ResultSet的对象 |
Int executeUpdate(String sql) |
可以执行 insert,update,delete的操作,返回受影响行数 |
Boolean execute(String sql) |
可以执行任意的sql语句,若执行Result对象,则返回true,若执行更新计数或者不存在的结果,返回false |
ResultSet接口常用的方法
方法名称 |
作用 |
Boolean next() |
判断,将光标移到当前位置的下一行 |
Boolean previous() |
将光标移到上一行 |
Void close() |
关闭ResultSet对象 |
Int getInt(int CloumnIndex) |
以int 下标的形式获取该列的值 |
Int getInt(int CloumnName) |
以int列名的形式获取该列的值 |
float getFloate(int CloumnIndex) |
以float 下标的形式获取该列的值 |
Float getfloat(int CloumnName) |
以float列名的形式获取该列的值 |
String getString(int CloumnIndex) |
以String下标的形式获取该列的值 |
String getString(int CloumnName) |
以String列名的形式获取该列的值 |
Int getRow() |
得到光标当前所指行的行号 |
Boolean absolute(int row) |
将光标移动到指定的行 |
方法名称 |
作用 |
Boolean execute() |
`可以执行任意的sql语句,若执行Result对象,则返回true,若执行更新计数或者不存在的结果,返回false |
ResultSet executeQuery() |
执行sql查询,返回ResultSet的对象 |
Int executeUpdate() |
可以执行 insert,update,delete的操作,返回受影响行数 |
Void setInt(int index,int x) |
将指定的参数设置给java int值,也就是给上面的sql语句的格式(?)设置值,前:下标1开始,后:值 |
Void setobject(int index,int x) |
给定对象设置指定参数 |
步骤:
通过connection的preparedStatement(String sql) 方法创建PreparedStatement 对象,sql语句可以一个或者多个参数,值用一个?占位符表示。
String sql=Update dog set name=?,health=? Where id=?
PreparedStatement ps=conn.preparedStatement(String sql);
Ps.setInt(int index,int values); //第一个:是下标从1开始,第二个:是值
Ps.setString(int index,Stringvalues); //第一个:是下标从1开始,第二个:是值
在设置各个参数值后,就可以调用preparedStatement的方法了(resultSet executeQuery), int execute() , boolean execute()
原文:http://www.cnblogs.com/ase0311/p/7642645.html