JDBC连接MySql数据库

付费节点推荐


免费节点


节点使用教程


下载JDBC数据库驱动程序for mysql(比如:mysql-connector-java-5.1.22-bin.jar)

使用方法: 将此jar包复制到JDK的扩展目录中,比如C:\Program Files (x86)\Java\jdk1.8.0_60\jre\lib\ext

应用程序加载MySql的JDBC数据库驱动程序代码如下:

[cc lang="java"]
Try{

Class.forName(“com.mysql.jdbc.Driver”);

}

Catch(Exception e){}

[/cc]
 

建立连接

使用Java.sql中DriverManager类的类方法

Connection getConnection(java.lang.String);

此方法会抛出SQLException异常。返回Connection对象。

连接代码如下:

[cc lang="java"]
Connection con;

try{

String url="jdbc:mysql://127.0.0.1/bcoder_db1";

String user="root";

String password="";

con=DriverManager.getConnection(url, user, password);

}

Catch(SQLException e){}

[/cc]
 

测试

首先打开mysql

net start mysql

测试写好的代码:
[cc lang="java"]

<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@ page contentType="text/html; charset=utf-8" %>



<% Connection con; Statement sql; ResultSet rs; try{ Class.forName("com.mysql.jdbc.Driver"); } catch(Exception e){} try{ String url="jdbc:mysql://127.0.0.1/bcoder_db1"; String user="root"; String password=""; con=DriverManager.getConnection(url, user, password); sql=con.createStatement(); rs=sql.executeQuery("SELECT * FROM product"); out.print("

");
out.print("

");
out.print("

");
while(rs.next()){
out.print("

");
out.print("

");
out.print("

");
out.print("

");
out.print("

");
out.print("

");

}
out.print("

"+"产品号");
out.print("

"+"名称");
out.print("

"+"生产日期");
out.print("

"+"价格");
out.print("
"+rs.getString(1)+" "+rs.getString(2)+" "+rs.getDate("madeTime")+" "+rs.getFloat("price")+"

");
con.close();

}
catch(SQLException e){
out.print(e);
}

%>

[/cc]

查询记录

 

和数据库建立连接后,就可以使用JDBC提供的api操作数据库了,比如查询,修改,更新数据库表。。。。

查询步骤:

(1)向数据库发送SQL查询语句

声明Statement对象,连接对象con调用createStatement()返回Statement对象。

代码如下:
[cc lang="java"]

Statement sql;

Try{

sql=con.createStatement();

}

catch(SQLException e){

out.print(e);

}
[/cc]

(2)处理查询结果

有了SQL语句对象,就可以调用相应方法使用sql语句。查询结果将放入到ResultSet对象中。

ResultSet rs = sql.executeQuery(“SELECT * FROM tableName”);

遍历数据行next()方法,获取字段值 getXX()方法。

 

顺序查询

我们可以通过JDBC提供的api,可以在查询数据之前获取表中的各个字段名字和个数等,这样有助于编写可复用代码。

当和数据库建立连接后,使用连接对象con调用getMetaData()方法返回一个DatabaseMetaData对象。

DatabaseMetaData medata = con.getMetaData();

medata对象再调用getColumns()方法可以将表的字段信息以行列的形式存储在一个ResultSet对象中。

ResultSet tableMessage = metadata.getColumns(null,null,”product”,null);

代码示例:

"NewFile.jsp"

[cc lang="html"]
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>




Insert title here

数据库名:
表名:

Mysql用户名:

mysql密码:(默认为空)



[/cc]

"inquire.jsp"

[cc lang="java"]
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib tagdir="/WEB-INF/tags" prefix="inquire"%>




Insert title here


<% String database =request.getParameter("dataBaseName"); String tName=request.getParameter("tableName"); String id=request.getParameter("user"); String secret=request.getParameter("password"); %>

tableName="<%=tName %>"
user="<%=id %>"
/>

在<%=biao %>表查询到记录:<%-- biao是tag文件返回的对象--%>

<%=queryResult %> <%--queryResult是tag文件返回的对象 --%>


[/cc]

"QueryTag.tag"

[cc lang="java"]
<%@tag import="java.sql.SQLException"%>
<%@tag import="java.sql.DatabaseMetaData"%>
<%@tag import="java.sql.DriverManager"%>
<%@tag import="java.sql.ResultSet"%>
<%@tag import="java.sql.Statement"%>
<%@tag import="java.sql.Connection"%>

<%@ tag language="java" pageEncoding="UTF-8"%>
<%@ attribute name="dataBaseName" required="true" %>
<%@ attribute name="tableName" required="true" %>
<%@ attribute name="user" required="true" %>
<%@ attribute name="password" required="false" %>

<%@ variable name-given="biao" scope="AT_END" %>
<%@ variable name-given="queryResult" scope="AT_END" %>

<% StringBuffer result=new StringBuffer(); try{ Class.forName("com.mysql.jdbc.Driver"); } catch(Exception e){ } Connection con; Statement sql; ResultSet rs; try{ result.append("

");
String uri="jdbc:mysql://127.0.0.1/"+dataBaseName;
con=DriverManager.getConnection(uri,user,"");
DatabaseMetaData metadata=con.getMetaData();
ResultSet rs1=metadata.getColumns(null, null,tableName,null);
int 字段个数=0; //字段个数
result.append("

");
while(rs1.next()){
字段个数++;
String clumnName=rs1.getString(4);
result.append("

");

}
result.append("

");

sql=con.createStatement();
rs=sql.executeQuery("SELECT * FROM "+tableName);

while(rs.next()){
result.append("

");
for(int k=1;k<=字段个数;k++) result.append("

");
result.append("

");
}
result.append("

"+clumnName+"
"+rs.getString(k)+"

");
con.close();
}
catch(SQLException e){
out.println(e);

}
//返回对象
jspContext.setAttribute("queryResult",new String(result));
jspContext.setAttribute("biao", tableName);
%>

[/cc]

未经允许不得转载:Bcoder资源网 » JDBC连接MySql数据库

相关推荐

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册