您的位置:首页 > 编程语言 > Java开发

Java中使用jdbc连接Mysql数据库

2019-04-20 22:04 447 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/Sendsunshine/article/details/89423603

之前由于其他事情大约一年没有动过代码,现在需要重新开始学习Java,突然发现很多东西都忘的差不多了,连最基本的jdbc连接数据库都变得非常生疏。其实这些东西到企业都不会使用,但作为前期学习Java是至关重要的,所以我决定将这些东西记录下来,一来自己回头查看方便也能省一点时间,二来也可以帮助开始学习Java的朋友!话不多说开始连接。

这个项目是一个简单的登录系统,他的核心是熟悉Mysql连接以及使用JavaBean。 

1.项目的全部列表

                 

两个Java文件:数据库连接类,JavaBean。四个Jsp文件:主要的是validate.jsp对页面数据的操作。  

2.连接数据库类(SqlSrvDBConn.java)

[code]//连接Mysql数据库
public SqlSrvDBConn(){
stmt=null;
try{
//载入mysql的jdbc连接驱动
Class.forName("com.mysql.jdbc.Driver");
//编写连接字符串,获取创建连接
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
System.out.println("连接成功");
}catch(Exception e){
e.printStackTrace();
}
rs=null;
}

 编写连接数据库类时避免错误首先将mysql驱动包导入项目中。

3.页面中对数据库进行操作(validate.jsp)

使用JavaBean,在Jsp中将JavaBean进行引用。

[code]<jsp:useBean id="SqlSrvDB" scope="page" class="org.easybooks.test.jdbc.SqlSrvDBConn"/>

 数据库中的文件进行查找,有没有可登录的用户。

[code]            String sql="select *from userTable";
ResultSet rs=SqlSrvDB.executeQuery(sql);
while(rs.next()){
if((rs.getString("username").trim().compareTo(usr)==0)&&                                                  (rs.getString("password").compareTo(pwd)==0)){
user=new UserTable();
user.setId(rs.getInt(1));
user.setUsername(rs.getString(2));
user.setPassword(rs.getString(3));
session.setAttribute("user", user);
validated=true;
}

登录成功

下面是全部的代码,本文如有错误还请各位大佬指出,谢谢了! 

数据库(数据库TEST,数据表UserTable)

SqlSrvDBConn.java

[code]package org.easybooks.test.jdbc;
import java.sql.*;

public class SqlSrvDBConn {

//statement对象(语句)
private Statement stmt;
//Connection对象(连接)
private Connection conn;
//Result对象(结果集)
ResultSet rs;
//连接Mysql数据库
public SqlSrvDBConn(){
stmt=null;
try{
//载入mysql的jdbc连接驱动
Class.forName("com.mysql.jdbc.Driver");
//编写连接字符串,获取创建连接
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
System.out.println("连接成功");
}catch(Exception e){
e.printStackTrace();
}
rs=null;
}
//执行查询类的SQL语句,有返回集
public ResultSet executeQuery(String sql){
try{
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}catch(SQLException e){
System.out.println("执行错误!");
System.out.println("Data.executeQuery:"+e.getMessage());
}
//返回集
return rs;
}
//关闭对象
public void closeStmt(){
try{
stmt.close();
}catch(SQLException e){
System.out.println("Data.executeQuey:"+e.getMessage());
}
}
//关闭连接
public void closeConn(){
try{
conn.close();
}catch(SQLException e){
System.out.println("Date.executeQuery:"+e.getMessage());
}
}
}

UserTable.java

[code]package org.easybooks.test.model.vo;

public class UserTable {

private Integer id;
private String username;
private String password;

public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}

}

login.jsp

[code]<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>简易的留言板</title>
</head>

<body bgcolor="#E3E3E3">
<form action='validate.jsp' method="post">
<table>
<caption>用户登录</caption>
<tr>
<td>用户名:</td>
<td>
<input type='text' name='username' size='20' />
</td>
</tr>
<tr>
<td>密码:</td>
<td><input type='password' name='password' size='21'/></td>
</tr>
</table>
<input type='submit' value='登录'/>
<input type='reset' value='重置'/>
</form>
如果没注册单击<a href=''>这里</a>
</body>
</html>

validate.jsp

[code]
<%@page import="java.sql.*,org.easybooks.test.model.vo.UserTable"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<jsp:useBean id="SqlSrvDB" scope="page" class="org.easybooks.test.jdbc.SqlSrvDBConn"/>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'validate.jsp' starting page</title>
</head>

<body>
<%
request.setCharacterEncoding("gb2312");
String usr=request.getParameter("username");
String pwd=request.getParameter("password");
boolean validated=false;
UserTable user=null;
user=(UserTable)session.getAttribute("user");
if(user==null){
String sql="select *from userTable";
ResultSet rs=SqlSrvDB.executeQuery(sql);
while(rs.next()){
if((rs.getString("username").trim().compareTo(usr)==0)&&(rs.getString("password").compareTo(pwd)==0)){
user=new UserTable();
user.setId(rs.getInt(1));
user.setUsername(rs.getString(2));
us
6950
er.setPassword(rs.getString(3));
session.setAttribute("user", user);
validated=true;
}
}
rs.close();
SqlSrvDB.closeStmt();
SqlSrvDB.closeConn();
}
else{
validated=true;
}
if(validated){
%>
<jsp:forward page="main.jsp"></jsp:forward>
<%
}
else{
%>
<jsp:forward page="error.jsp"/>
<%
}
%>
</body>
</html>

error.jsp

[code]<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>出错</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
登录失败!单击<a href='login.jsp'>这里</a>返回
</body>
</html>

main.jsp

[code]<%@page import="org.easybooks.test.model.vo.UserTable"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>留言板信息</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
<%
UserTable user=(UserTable)session.getAttribute("user");
String usr=user.getUsername();
%>
<%=usr %>,您好,欢迎登录留言板!
</body>
</html>

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: