JAVA+MYSQL登录程序Word下载.docx
《JAVA+MYSQL登录程序Word下载.docx》由会员分享,可在线阅读,更多相关《JAVA+MYSQL登录程序Word下载.docx(19页珍藏版)》请在冰豆网上搜索。
8.public
class
MyDBConnection{<
span
style="
font-family:
Arial,
Helvetica,
sans-serif;
"
>
//连接类<
/span>
9.
10.
private
String
DBDriver;
11.
DBURL;
12.
DBUser;
13.
DBPass;
14.
Connection
conn=null;
15.
Statement
stmt=null;
16.
public
MyDBConnection(){
17.
DBDriver="
com.mysql.jdbc.Driver"
;
18.
DBURL="
jdbc:
mysql:
//localhost:
3306/info"
19.
DBUser="
root"
//用户名
20.
DBPass="
473721601"
//数据库密码
21.
try{
22.
Class.forName(DBDriver);
//加载驱动程序
23.
//System.out.println("
数据库驱动程序加载成功"
);
24.
}catch(Exception
e){
25.
e.printStackTrace();
26.
}
27.
28.
conn=DriverManager.getConnection(DBURL,DBUser,DBPass);
//取得连接对象
29.
stmt=conn.createStatement();
//取得SQL语句对象
30.
System.out.print("
连接数据库成功"
31.
32.
33.
34.
35.
getMyConnection(){
36.
return
conn;
37.
38.
getMyStatement(){
39.
stmt;
40.
41.
void
closeMyConnection(){//关闭数据库连接
42.
43.
stmt.close();
44.
conn.close();
45.
}catch(SQLException
46.
47.
48.
49.
toString(){
50.
数据库驱动程序"
+DBDriver+"
,链接地址"
+DBURL+"
,用户名"
+DBUser+"
,密码"
+DBPass;
51.
52.}
数据库连接成功后会显式数据库已连接成功。
再来看看怎么样对数据库中的数据进行操作的:
1.public
insertData(String
name,String
password,int
scores){//插入操作
3.
newType1=new
String(name.getBytes(),"
GBK"
//字节转码
4.
newType2=new
String(password.getBytes(),"
5.
sql="
INSERT
INTO
player(scores,name,password)VALUES("
+scores+"
'
+newType1+"
'
+newType2+"
)"
6.
stmt.executeUpdate(sql);
//更新语句
e1){
8.
e1.printStackTrace();
10.}
getBytes()让String对象转换为“GBK”的字节码,并可以插入到数据库中,而看sql这一句:
1."
这是数据库插入操作的标准语句,意思为将scores,name,password三个数据插入到player表中,而后执行数据库的更新语句,完成插入。
删除:
deleteData(int
mscores){
DELETE
FROM
player
WHERE
scores="
+mscores+"
System.out.print(sql);
一条记录被删除"
这句意思为从表里删除所有scores等于mscores的数据,在这里我删除判断条件的只有数据库里的scores是否有等于mscores的,如果还需要加条件,比如要加name判断,则代码如下:
mscores,String
mname){
&
name='
+mname+"
从而语句变为从player表里删除scores等于mscores且name等于mname的所有数据。
修改;
updateData(int
mscores,int
scores,String
password){//修改
UPDATE
SET
name='
+name+"
password='
+password+"
where
password='
修改了scores的数据。
查询:
selectPassword(){
SELECT
scores,name,password
player"
ResultSet
rs=stmt.executeQuery(sql);
//返回结果集
while(rs.next()){//指针向后移动
mpassword=rs.getString("
password"
System.out.print(mpassword);
}}catch(Exception
e){e.printStackTrace();
}}
查询操作多了个结果集,来获取每组数据,并用next方法来进行“指针”后移,并用getString方法将password数据读取出来。
如果要读取scores的数据。
则可修改代码如下:
1.String
mscores=rs.getShort("
scores"
不同的数据类型从数据库中获取的方法不同。
说完了基本操作,来看看整个的操作类:
2.import
java.sql.ResultSet;
java.util.ArrayList;
7.import
java.util.Arrays;
8.import
java.util.Collections;
9.import
java.util.List;
10.public
DBOperation{
MyDBConnection
myDB=null;
int
scores;
number1=0;
number2=0;
name;
password;
DBOperation(MyDBConnection
myDB){
conn=myDB.getMyConnection();
//取得对象
stmt=myDB.getMyStatement();
//取得sql语句
scores){
boolean
selectPassword(String
mpassword){//查询密码
52.
53.
54.
55.
56.
password=rs.getString("
57.
number2++;
58.
//System.out.print(rs.getString("
)+"
59.
if(password.equals(mpassword)&
(number2==number1)){
60.
//System.out.print("
number2:
+number2);
61.
true;
62.
63.
64.
65.
66.
67.
68.
false;
69.
70.
selectName(String
mname){//查询id
71.
72.
73.
74.
75.
name=rs.getString("
name"
76.
number1++;
77.
if(name.equals(mname)){
78.
number1:
+number1);
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
getScores(){
90.
91.
92.
getName(){
93.
94.
95.
getPassword(){
96.
97.
98.
99.
setNumber1(){
100.
101.
102.
setNumber2(){
103.
104.
105.}
代码中写了bool类型的selectName与selectPassword方法,并用number1与number2记录name与password在数据库的位置,登录操作实际的思路是在先在数据库中查找用户id,如果查到了就记录此id在第几个位置,并将位置传入selectPassword方法,进行查询密码匹配,判断密码和用户输入的密码是否相同且该密码的位置是否和id的位置相同。
如果没找到该id,则提示用户注册,注册其实就是在数据库中插入数据。
下面来看看,一个简单的界面窗口类:
ui;
java.awt.Button;
java.awt.Color;
java.awt.Font;
java.awt.Graphics;
java.awt.Image;
java.awt.event.*;
java.io.File;
10.import
java.io.IOException;
12.import
javax.imageio.ImageIO;
13.import
javax.swing.*;
15.import
dates.DBOperation;
16.import
dates.MyDBConnection;
18.public
Win