您的位置:首页 > 数据库 > MySQL

JDBC复习一(mysql)

2016-06-27 07:27 507 查看
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

不同的数据库连接改变的是url 基本的逻辑结构不变

步骤如下:

先定义好四大参数 带上包名的驱动包完整名字 url(每个数据库都不同) 用户名 和密码

然后 利用反射加载驱动包

建立连接

创建statment

得到结果集

得到数据

所有java.sql.Driver 实现类,都提供了静态代码块,块内的代码就是把自己注册到DriverManager中

jdbc4.0 以后 每个驱动jar包中在meta-inf 目录下提供了一个名为java.sql.Driver 的文件 文件的内容就是接口实现类

所以Class.forname(“com.mysql.jdbc.Driver”) 可以写可以不写 最好写着

如何增删改查:

ResultSet rs = st.executeQuery(查询语句);
ResultSet rs = st.executeUpdate(增删改语句);


代码示列:

public class Jdbc {
private static Connection con = null;
private static Statement  st = null;
private static ResultSet  rs = null;
public static void main(String[] args)  {
String url = "jdbc:mysql://localhost:3306/mydata";
String driverClassName = "com.mysql.jdbc.Driver";
String username ="root";
String password ="****";

try {
Class.forName(driverClassName);
con = DriverManager.getConnection(url,username,password);
st = con.createStatement();
rs = st.executeQuery("select * from dept ");
while(rs.next()){

System.out.print(rs.getString("dname"));
}
} catch (Exception e) {
throw new RuntimeException();
}finally{

try {
if(rs != null) rs.close();
if(st != null) st.close();
if(con != null) con.close();
} catch (Exception e) {
throw new RuntimeException();
}
}

}


还有一个Prestatement 它是预编译的 可以批处理 首先需要给出sql 模板

String psql = "select id,loginName,email from user where id=?";
time = System.currentTimeMillis();
for (int i = 0; i < count; i++) {
int id=(int) (Math.random() * 100);
PreparedStatement preStatement = conn.prepareStatement(psql);
preStatement.setLong(1, new Long(id));
ResultSet pSet = preStatement.executeQuery();
preStatement.close();
}
System.out.println("preStatement cost:" + (System.currentTimeMillis() - time));   //用于记录运行时间
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: