码迷,mamicode.com
首页 > 数据库 > 详细

通过JDBC连接Mysql之基础篇

时间:2015-11-05 00:38:44      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:

1 JDBC基础知识

Q1 什么是JDBC技术

Java Database Connectivity :Java访问数据库的解决方案

 

Q2 JDBC如何实现访问数据库

JDBC定义了一套标准通用接口,由数据库厂商来实现这些接口连接数据库

 

Q3 JDBC有哪些标准通用接口

DriverManager 驱动管理

Connection/DatabaseMetaData 连接接口

Statement/PreparedStatement/CallableStatement 语句对象接口

ResultSet/ResultSetMetaData 结果集接口

 

Q4 JDBC标准接口内有些什么

每个接口都定义了一系列的抽象方法,无论连接哪一个数据库,

过程是一样的 这些包含抽象方法的接口都由各个数据库厂商来实现

 

Q5 什么是数据jar包

不同的数据库厂商编写标准通用接口的实现类,

这一组实现类打包在各自商场的JDBC-jar包中,

也就是jar包内包含的是JDBC标准接口的实现类

 

Q6 jar包的导入路径  

1 web项目  WebRoot/WEB-INF/lib  

2 普通项目  IDE[eclipse/myeclipse]

右键- User library  - next - import- findYourJar - ok

 

2 连接数据库的标准流程

 

 1:注册驱动 Class.forName()

 2:加载驱动建立数据库连接 DriverManager  

3:通过连接创建执行SQL语句的对象 Connection  

4:使用语句对象执行SQL Statement  

5:若是查询语句,则可以获取结果 ResultSet  

6:使用完毕后关闭连接释放资源

 

3 JDBC连接数据库的完整步骤

 

 1:加载JDBC驱动  

连接数据库之前,首先要将想要连接的数据库的驱动加载到JVM中  

加载方法:java.lang.Class[static method] forName(String className)  

eg:   

  try{    

      Class.forName("com.mysql.jdbc.Driver");//mysql Driver    

      System.out.println("Driver inject success")   

    }catch(ClassNotFoundException e){    

      System.out.println("Not found database driver");    

      e.printStackTrace();   

    }  

    加载成功:Driver类的实例注册到DriverMannger类中

 

 2:提供JDBC连接的URL  

URL:Uniform Resourcce Locator 统一资源定位符  

URL定义了连接数据库时的协议、子协议、数据源标识

书写形式:协议:子协议:数据源标识  

  协议:在JDBC中总是以jdbc开始  

  子协议:桥连接驱动程序 or 数据库管理系统名称  

  数据源标识:标记找到数据库来源的地址与接口  

eg:   jdbc:mysql://localhost:33066/databaseName?useUnicode=true&characterEncoding=gbk

    [useUnicode=true]表示使用Unicode字符集  

    [characterEncoding=gbk]字符编码方式   使用gb2312或gbk,必须使用Unicode字符集

 

 3:创建数据库的连接  

请求Connection对象:  

通过java.sql.DriverManager[static method]  

getConnection(String url,String name,String password)

 eg:   

    try{    

      Connection conn = DriverManager.getConnection(u,n,p)    

      System.out.println("connection success");   

    }catch(SQLException se){    

      System.out.println("connection failed");    

      se.printStackTrace();   

    }

 

 4:创建Statement实例  

java.sql.Statement  

作用:执行SQL语句  

种类:   

  1 执行静态SQL语句 --> Statement实例   

  2 执行动态SQL语句 --> PreparedStatement实例   

  3 执行数据库存储过程 --> CallableStatement实例

 

 eg:   

  Statement st = conn.createStatement();   

  PreparedStatement ps = conn.prepareStatement(sql);   

  CallableStatement cs = conn.prepareCall("{CALL demoSp(?,?)");

 

 5:通过Statement执行SQL语句   

  三种方法:   

  1 ResultSet executeQuery(String sqlString)    查询数据库SQL语句,返回一个结果集对象   

  2 int executeUpadate(String sqlString)    执行INSERT UPDATE DELETE DDL语句  

  3 boolean execute(sqlString)    用于执行返回多个结果集、多个更新计数

 

 eg:  

  ResultSet rs = st.executQuery("SELECT * FROM ...");   

  int row = st.executeUpdate("INSERT INTO ...");   

  boolean flag = st.execute(String sql);

 

 6:处理结果   

  两种情况:   

  1 执行更新返回的是本次操作影响到的记录   

  2 执行查询返回的结果是一个ResultSet对象  

 

eg:  

   while(rs.next()){    

    String name = rs.getString("name");    

    String pass = rs.getString(1);//获取第一列参数,高效   

  }

 

 7:关闭JDBC对象   

  关闭顺序和申明顺序相反:   

  1 关闭结果集 rs   

  2 关闭声明 st   

  3 关闭连接 conn  

 

eg:   

  if(conn!=null){  

    try{    

      conn.close();   

    }catch(SQLException){    

      e.printStackTrace();   

    }   

   }

通过JDBC连接Mysql之基础篇

标签:

原文地址:http://www.cnblogs.com/azcode/p/4937798.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!