JAVA EE 学习笔记[V3 JDBC连接数据库]

Going on

 在前面两节实力浅学了Servlet和Jsp一波。然而这些东西离我们实际开发还有很远的距离(至少作业都完成不了=-=),所以想更进一步靠近实际开发的话,那就一定得对数据库的知识有一定程度的掌握和了解(这里暂时先来点简单的,毕竟数据库又是学科分支,分分钟搞大),我暂时对JAVA访问数据库的技术即JDBC进行学习和了解。

JDBC简介

  商业应用的后台数据一般存放在数据库中,很明显,可以通过 Java 代码来访问数据库。

  在 Java 技术系列中,访问数据库的技术叫做 JDBC(Java DateBase Connectivity),它提供了一系列的 API,让 Java 语言编写的代码连接数据库,对数据库的数据进行添加、删除、修改和查询。

JDBC编程接口

JDBC提供了两种编程接口:面向普通程序员用于数据库连接操作的的JDBC API,和面向JDBC驱动程序开发的JDBC Driver Interface.

JAVA EE 学习笔记[V3 JDBC连接数据库]_第1张图片

 

JDBC API只关心java调用sql的抽象接口,而不考虑具体使用哪种方式实现,具体数据库调用靠JDBC驱动程序完成。

因此,我们普通程序员只要按照JDBC API撰写一次程序,然后搭建不同的JDBC驱动程序,便可以操作不同的数据库。

针对不同类型的数据库,JDBC 机制中提供了“驱动程序”的的概念。程序只需要使用数据库厂商提供的驱动程序,就可以连接数据库并进行操作。

JDBC 驱动器程序

   JDBC驱动程序有两种主要的类型:

         JDBC驱动:大多数数据库系统都实现的JDBC驱动程序,JSP可以用它直接访问数据库。

         ODBC桥:有些数据库系统没有直接提供JDBC驱动,但是它们往往提供了ODBC驱动,ODBC即微软公司设计开发的windows系统开放数据库互联接口(Open Database                                Connectivity)。JSP可以通过SUN公司的JDBC-ODBC桥来实现对它们的访问。

JDBC API

   JDBC API由用户调用,以实现基本的数据库操作。

     其中包括四个类: java.sql.Connection:负责连接数据库

                                 java.sql.Statement:负责执行数据库 SQL 语句

                                 java.sql.ResultSet:负责存放查询结果

                                 java.sql.DriverManager:负责装载驱动程序

而一般使用JDBC开发的流程如下

JAVA EE 学习笔记[V3 JDBC连接数据库]_第2张图片

 

在了解JDBC之后我们继续按照惯例(以Myeclipse 2016 CI4为例):

  在这里我们使用 IDE自带的 DerBy数据库=-=

 先创建完Web Service Project 之后右键工程 打开properties(得手动添加 DerBy.jar 没这东西剩下的都是瞎扯)

JAVA EE 学习笔记[V3 JDBC连接数据库]_第3张图片

  这里我手贱加进去了,还有记得把derbyclient.jar添加到.classpath 当中

JAVA EE 学习笔记[V3 JDBC连接数据库]_第4张图片

 

然后编辑Derby数据库的属性

JAVA EE 学习笔记[V3 JDBC连接数据库]_第5张图片

搞定之后上代码(放入JSP):

<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
    
    My JSP 'index.jsp' starting page
    
    
        
    
    
    
  
  
  
    This is my JSP page. 
<% //全局变量,数据库名 String DBNAME = "MyEclipse Derby"; //连接端口 int NETWORKSERVER_PORT=1527; //驱动类名 String DERBY_CLIENT_DRIVER = "org.apache.derby.jdbc.ClientDriver"; //以以上内容组装一个 Derby JDBC Driver URL String DERBY_CLIENT_URL= "jdbc:derby://localhost:" + NETWORKSERVER_PORT + "/" + DBNAME + ";create=true"; Connection conn = null; try{ //装载驱动程序 Class.forName(DERBY_CLIENT_DRIVER).newInstance(); //建立连接,三个参数:url,username,password conn = DriverManager.getConnection(DERBY_CLIENT_URL,"xr", "111111"); //创建statement对象 Statement st = conn.createStatement(); //执行sql语句 //建一个名为USERINFO的表,使用execute方法 st.execute("create table USERINFO (USERID INT NOT NULL, USERNAME VARCHAR(10) NOT NULL)"); //增删改查表中的内容,用executeUpdate方法 st.executeUpdate("insert into USERINFO(USERID, USERNAME) values (1, 'NOSTRING')"); st.executeUpdate("insert into USERINFO(USERID, USERNAME) values (2, 'BECHAR')"); st.executeUpdate("insert into USERINFO(USERID, USERNAME) values (3, 'ALEXVIEW')"); //读取表的内容,用executeQuery方法 ResultSet rs = st.executeQuery("select * from USERINFO"); //循环输出内容 while(rs.next()){ int userID = rs.getInt(1); String username = rs.getString(2); out.println("-------------------
"); out.println("用户ID:"+ userID +"
"); out.println("用户用户名:"+ username +"
"); out.println("-------------------
"); } }catch(SQLException e){ out.print(e.getErrorCode() + "
"); out.print(e.getCause() + "
"); out.print(e.getMessage() + "
"); if(conn != null ) conn.close(); } %>

 

搞定=-=  这个底下过几日把MySql的版本试一下吧  

 待更新-————————2017.4.6

 

转载于:https://www.cnblogs.com/Stringair/p/6675177.html

你可能感兴趣的:(数据库,开发工具,java)