C/S结构的关系数据库系统
C/S结构的关系数据库系统具有数据集中、功能分布的特点。
服务器:数据集中存储于DB服务器上,服务器完成DBMS的核心功能,DB的建立维护由DBA完成。
客户端:完成数据处理、表示、用户接口等功能。
C客户端 提出请求————————>S客户端 响应请求
数据库举例
Oracle、Sybase、DB2、SQL Server、MySQL
ODBC(略)
JDBC——以MySQL为例
MySQL配置
首先安装MySQL,默认设置3306端口提供服务;
默认初始用户是root,密码可更改;
服务为自动启动(MySQL服务);
数据库客户端管理工具
这里使用Webyog的SQLyog,下载地址 http://www.webyog.com,有试用版本;
将表建立好,建立过程明了易用;
JDBC驱动类型
①JDBC-ODBC桥
②本地库Java实现驱动
③网络协议驱动
④数据库协议驱动
安装JDBC驱动
JDBC-ODBC桥驱动由JDK默认安装,其他三种驱动需要自己手动安装;
Eclipse添加MySQL JDBC驱动包
方法一:在项目的Properties选项中,选择Java BuildPath,在右边的Libraries中添加JAR驱动包
方法二:将JAR驱动包放到Tomcat服务器的lib文件夹中(或者两种方法都用,本人都用了才好用,具体为什么还不知道)
连接数据库
练习的小例子(同时练习了在JSP中根据数据表动态生成下拉列表)
<body>
<%
List list=new ArrayList();
Class.forName("com.mysql.jdbc.Driver");
Connection conn=null;
String url="jdbc:mysql://localhost:3306/db_dept";
try{
conn = DriverManager.getConnection(url,"root","root");
}
catch(SQLException e){
e.printStackTrace();
}
String sql="select dName from tb_deptname";
Statement statement;
try{
statement=conn.createStatement();
ResultSet rest=statement.executeQuery(sql);
while(rest.next()){
String id = rest.getString(1);
list.add(id);
}
}
catch(SQLException e){
e.printStackTrace();
}
%>
<select>
<%
for(int i=0;i<list.size();i++){
%>
<option value="<%= list.get(i) %>"><%=list.get(i) %></option>
<%} %>
</select>
</body>
*Class.forName("com.mysql.jdbc.Driver");// 返回 与带有给定字符串名的类或接口相关联的 class对象
**rest.next() //ResultSet类方法,将光标从当前位置向前移一行(boolean型)
***rest.getString(1) //以Java编程语言中String的形式获取Resultset对象的当前行中指定列的值
****JDBC的URL格式 jdbc:子协议:数据源
*****连接字符串rul的格式 ①String url=“jdbc:mysql://localhost:3306/student?user=root&password=root";
②String url="jdbc:mysql://localhost:3306/student";
String user="root";
String password="root";
Connection conn=DriverManager.getConnection(url,user,password);
******Connection、Statement抛出异常,需要在下面使用时进行异常捕获处理