
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="java.sql.*" %>
<body>
<%
String driver = "com.mysql.jdbc.Driver"
// URL指向要访问的数据库名test1
String url = "jdbc:mysql://127.0.0.1:3306/test"
// MySQL配置时的用户名
String user = "root"
// Java连接MySQL配置时的密码
String password = "111"
try {
// 1 加载驱动程序
Class.forName(driver)
// 2 连接数据库
Connection conn = DriverManager.getConnection(url, user, password)
// 3 用来执行SQL语句
Statement statement = conn.createStatement()
// 要执行的SQL语句
String sql = "select * from login"
ResultSet rs = statement.executeQuery(sql)
String name = null
String mima=null
while (rs.next()) {
name = rs.getString("userName")
mima = rs.getString("passWord")
out.println(name+"\t"+mima)
}
rs.close()
conn.close()
} catch (ClassNotFoundException e) {
System.out.println("Sorry,can`t find the Driver!")
e.printStackTrace()
} catch (SQLException e) {
e.printStackTrace()
} catch (Exception e) {
e.printStackTrace()
}
%>
</body>
12,这样就运行成功了,对于出现8080端口号被占用,可以采用如下的方法进行删除对应的进程。
在命令提示符下,输入netstat -aon | findstr 8080
找到对应的进程的PID,假设是7659 再输入如下的命令
taskkill /pid 7659 /F
即可删除对应的进程。
用JDBC技术创建数据库连接,分为以下几步:
1.装载并注册数据库的JDBC驱动程序
2.取得数据库连接
3.建立Statement 对象
4.准备并执行调用SQL语句
5.处理ResultSet中的记录集
6.释放资源
第一步
加载驱动程序
try{ //装载MySQL数据库驱动
Class.forName("com.mysql.jdbc.Driver")
}
catch(ClassNotFoundException e)
{
e.printStackTrace()
}
注意:在使用JDBC之前,要在文件前导入有关SQL的类即
import java.sql.*
第二步
取得数据库连接
try{
String url="jdbc:mysql://localhost:3306/student
String user="root"
String password="1234"
con=DriverManager.getConnection(url,user,password)
}
catch(SQLException e)
{
e.printStackTrace()
}
第三步
建立Statement 对象
try{
Statement sql=con.createStatement()
}
catch(SQLException e)
{
e.printStackTrace()
}
第四步
执行各种SQL语句
try{
ResultSet rs=sql.executeQuery(
"select * from student")
}
catch(SQLException e)
{
e.printStackTrace()
}
第五步
获取查询结果
ResultSet rs=sql.executeQuery(
"select * from student")
while(rs.next())
{
rs.getString(2)或者是rs.getString("name")
rs.getInt(3)或者是rs.getInt("age")
}
注意
只有select语句才会有结果集返回;
ResultSet对象一次只能看到一个数据行
使用next()方法走到下一数据行
获得一行数据后,ResultSet对象可以使用getXxx()方法获得字段值,将位置索引或字段名传递给get第六步
关闭创建的各个对象(后打开的先关)
rs.close()
sql.close()
con.close()Xxx方法()即可。
1.将数据库驱动程序的JAR文件放在Tomcat的 common/lib 中; 2.在server.xml中设置数据源,以MySQL数据库为例,如下: 在 节点中加入, 属性说明:name,数据源名称,通常取”jdbc/XXX”的格式; type,”javax.sql.DataSource”password,数据库用户密码; driveClassName,数据库驱动; maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连 接将被标记为不可用,然后被释放。设为0表示无限制。 MaxActive,连接池的最大数据库连接数。设为0表示无限制。 maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示 无限制。 3.在你的web应用程序的web.xml中设置数据源参考,如下: 在节点中加入, MySQL DB Connection Pool jdbc/DBPool javax.sql.DataSource Container Shareable 子节点说明: description,描述信息; res-ref-name,参考数据源名字,同上一步的属性name; res-type,资源类型,”javax.sql.DataSource”; res-auth,”Container”; res-sharing-scope,”Shareable”; 4.在web应用程序的context.xml中设置数据源链接,如下: 在节点中加入, 属性说明:name,同第2步和第3步的属性name值,和子节点res-ref-name值; type,同样取”javax.sql.DataSource”; global,同name值。 至此,设置完成,下面是如何使用数据库连接池。 1.建立一个连接池类,DBPool.java,用来创建连接池,代码如下: import javax.naming.Contextimport javax.naming.InitialContextimport javax.naming.NamingExceptionimport javax.sql.DataSourcepublic class DBPool { private static DataSource poolstatic { Context env = nulltry { env = (Context) new InitialContext().lookup("java:comp/env")pool = (DataSource)env.lookup("jdbc/DBPool")if(pool==null) System.err.println("'DBPool' is an unknown DataSource")} catch(NamingException ne) { ne.printStackTrace()} } public static DataSource getPool() { return pool} } 2.在要用到数据库 *** 作的类或jsp页面中,用DBPool.getPool().getConnection(),获得一个Connection对象,就可以进行数据库 *** 作,最后别忘了对Connection对象调用close()方法,注意:这里不会关闭这个Connection,而是将这个Connection放回数据库连接池。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)