Java data base connection
Java数据库连接技术``
package JDBC;
import java.sql.Connection;//创建桥梁
import java.sql.DriverManager;
import java.sql.Statement; //创建快递员
import java.sql.ResultSet; //存储从数据库中读来的数据
public class jdbc {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
/******************
1,加载数据库驱动(一个文件)建桥前的准备工作
*******************/
//导入文件
Class.forName("org.gjt.mm.mysql.Driver"); //固定语法
/*****************
//2,创建数据库连接:建桥
*****************/
Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/first","root","");
//协议 ip 端口号//数据库名 密码
/***************** ***
* 3,创建数据库执行对象:分配快递员
**************************/
Statement st = conn.createStatement();
/*************************
* 4.执行SQL语句:快递员从数据库取快递或者将快递配送到数据库(增删改)
* 每个插入更新操作只能一次哦,否则就会像我一样傻傻的看了n边程序
在哪里找错。
解决方法:建表时,设置主键自增,这样插入时不用加入主键,避免此类错误。
*********************************/
//st.executeUpdate("insert into kind (id,kname,spec,tel)values(3,'qian','11','22')");
ResultSet rs= st.executeQuery("select *from kind");//rs相当于快递员拿快递的包裹,暂时存储从数据库中取出的快递以供后面的查询操作。
//ResultSet 的存储结构:rs利用光标读取数据,每次光标下移会返回一个boolean 值rs.next()。
//默认初始光标在第一行前面一行。
/*******************************
* 5,处理结果集(只执行查询操作)
*******************************/
while(rs.next())//此时光标下移到第一行数据
{
int id=rs.getInt("id");
String name=rs.getString("kname");
String s=rs.getString("spec");
String t=rs.getString("tel");
System.out.println("id:"+id);
System.out.println("kname:"+name);
System.out.println("spec:"+s);
System.out.println("tel:"+t);
}
/*****************
6,关闭连接
*******************/
rs.close();//光标关闭,默认光标移动到最后不能返回重读。
st.close();//一定要先撤回快递员
conn.close();//断连接,炸桥
}
catch(Exception e)
{
e.printStackTrace();//run时显示错误的操作
}
}
}