五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

JDBC綜合項(xiàng)目:登陸系統(tǒng)和注冊系統(tǒng),數(shù)據(jù)儲存到SQL中,驗(yàn)證碼,一個.java文件變多個

2020-03-21 20:36 作者:詩書畫唱  | 我要投稿


/*個人的理解記憶:DButils 是database(數(shù)據(jù)庫)? utils(常用工具,比如封裝后可直接調(diào)用的查找方法,增加方法,刪除方法,修改方法等)的簡寫,縮寫。*/

--create database yonghu

--use yonghu

--drop database yonghu

--select * from yonghu

--drop table yonghu

create table yonghu(


yh_ID int,

yh_Uname varchar(30),

yh_Pwd varchar(30),

yh_Name varchar(30),

yh_Age int not null,

yh_Sex varchar(20) not null,

yh_Phone varchar(100)not null,

yh_Address varchar(200)not null,

yh_Jieshao varchar(500)not null)



package zhubiao;


import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Random;

import java.util.Scanner;


class diaoyongSQL {

/*

* 先用私密(安全)和靜態(tài)(方便直接引用)的Connection,ResultSet,

*? Statement聲明為 null,方便之后賦值,或 con== null可用于if中

*/

private static Connection con = null;

private static ResultSet res = null;

private static Statement sta = null;

/*

* 加載"com.microsoft.sqlserver.jdbc.SQLServerDriver(

* 這個為包名, 可從編譯器的左邊找到包名)"包 ,?用上static {try {}catch (ClassNotFoundException e) {?e.printStackTrace();(和在主函數(shù)中加的throws Exception 一樣,?這個是為了讓其拋出異常,不出現(xiàn)紅線)}}的靜態(tài)代碼塊,用Class.forName()進(jìn)行加載"com.microsoft.sqlserver.jdbc.SQLServerDriver"包

*/

static {

try {

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

}


// 用getCon(){} 來連接:

public static Connection getCon() {

/*

* 用if (con == null)來判斷連接對象是否為null, 如果為null就用getConnection創(chuàng)建連接

*/

if (con == null) {

try {

con = DriverManager.getConnection(

"jdbc:sqlserver://DESKTOP-49FTFSP;"

+ "databaseName=yonghu", "sa", "1234abcd");

} catch (SQLException e) {

e.printStackTrace();

}

}

return con;/*

* public static后面沒void(意思為 無返回值)這個單詞,說明聲明了要有返回值, 所以加return?con來符合聲明的條件

*/

}


/*

* 用Select(String sql){}封裝和聲明查詢的方法, 用public static 是為了更容易應(yīng)用

*/

public static ResultSet Select(String sql) {

// 用con = getCon();來建立鏈接的對象con

con = getCon();

// 用sta = con.createStatement(); 建立執(zhí)行sql語句的對象

try {

sta = con.createStatement();

// 用res = sta.executeQuery(sql);執(zhí)行sql語句得到結(jié)果集

res = sta.executeQuery(sql);

} catch (SQLException e) {


e.printStackTrace();

}

return res;

}


/*

* 封裝聲明“ 增(Z)刪(S)改(G)的方法”,用boolean(常用于循環(huán)和條件語句,可方便編寫程序 和少些寫代碼)

*/

public static boolean ZSG(String sql) {

// 用con = getCon();建立鏈接的對象

boolean b = false;/* 聲明b = false */

con = getCon();

// 用sta = con.createStatement();建立執(zhí)行sql語句的對象

try {

sta = con.createStatement();

// 用int num = sta.executeUpdate(sql);執(zhí)行sql語句得到結(jié)果集

int num = sta.executeUpdate(sql);

if (num > 0) {

b = true;/*

* 默認(rèn)一開始聲明的boolean ZSG(String sql)為true, 前面聲明了b =?false,所以如果num>0,那么b被賦值為true,執(zhí)行 ZSG(String sql)

*/

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return b;/*

* 前面聲明了b = false,所以如果num<= 0,和num > 0為true相反,那么此時b=false,b返回為false

*/

}


}


public class main {

public static Scanner s = new Scanner(System.in);

static yonghu yh = new yonghu();


/*

* 先聲明個全局可用的public static Scanner s = new Scanner(System.in);,再聲明一個

* 可直接調(diào)用的靜態(tài)的yonghu yh = new yonghu();之后加入很 多要調(diào)用的全部數(shù)據(jù)其中去,之后再調(diào)用

*/

public static void main(String[] args) throws Exception {

boolean b = true;

/*

* 用while (b) {}包圍登錄代碼部分,實(shí)現(xiàn)登錄錯誤的時候一直登錄的效果 最先聲明的b =

* true成立,b為true,即表明"可行",所以 while (true) 會一值循環(huán), 直到num_yanzhengma_bianhao == num_yanzhengma,出現(xiàn)false,進(jìn)而就會停止當(dāng)前循環(huán),繼續(xù)執(zhí)行循環(huán)下面的代碼語句

*/

while (b) {

System.out.println("--------歡迎使用詩書畫唱商品管理系統(tǒng)--------");

System.out.println(" ------請輸入你要執(zhí)行的操作--------");

System.out.println("1.登錄2.注冊 3.退出系統(tǒng)");

int num = s.nextInt();

if (num == 1) {

//輸入1,就執(zhí)行登錄功能

System.out.println("------執(zhí)行登錄功能-----");

System.out.println("請輸入你的用戶名");

String uname = s.next();

System.out.println("請輸入你的密碼");

String pwd = s.next();

boolean bb = true;

while (bb) {

System.out.println("請輸入驗(yàn)證碼");

/*用Random r = new Random();生成一個驗(yàn)證碼(這個驗(yàn)證碼只是用隨機(jī)數(shù)字)*/

Random r = new Random();

int num_yanzhengma_bianhao = r.nextInt(9000) + 1000;

System.out.println(num_yanzhengma_bianhao);

int num_yanzhengma = s.nextInt();


if (num_yanzhengma_bianhao == num_yanzhengma) {


System.out.println("驗(yàn)證碼輸入正確");

bb = false;

} else {

System.out.println("驗(yàn)證碼輸入錯誤");


}

}

/*聲明 String寫一個sql語句,用查找語句后來判斷用戶輸入的信息是否在?數(shù)據(jù)庫中存在,只有存在才可以登錄,否則登錄失敗,可以登錄說明輸入的內(nèi)容儲存到了SQL數(shù)據(jù)庫中去了*/

String sql = "select * from yonghu where yh_Uname= '" + uname

+ "' and yh_Pwd='" + pwd + "'";

/*

* 用 ResultSet res = diaoyongSQL.Select(sql);,調(diào)用封裝而成的Select(sql)執(zhí)行sql語句,用于查到全表,之后用res.next()遍歷,yh.setYh_ID(res.getInt("yh_ID"));等打印出搜查到的語句,res.next()表明前面“System.out.println("請輸入你的用戶名");String uname =?s.next(); System.out.println("請輸入你的密碼"); String pwd =s.next();”儲存的內(nèi)容和用sql 查找的數(shù)據(jù)是否相同,相同就會執(zhí)行if(){}中的語句,?之前(執(zhí)行時先注冊再登錄)注冊時,輸入數(shù)據(jù)已經(jīng)用SQL語句儲存到SQL數(shù)據(jù)庫中了

*/

ResultSet res = diaoyongSQL.Select(sql);

if (res.next()) {

System.out.println("登錄成功");

yh.setYh_ID(res.getInt("yh_ID"));

yh.setYh_Uname(res.getString("yh_Uname"));

yh.setYh_Pwd(res.getString("yh_Pwd"));

yh.setyh_Name(res.getString("yh_Name"));

yh.setYh_Age(res.getInt("yh_Age"));

yh.setYh_Sex(res.getString("yh_Sex"));

yh.setYh_Phone(res.getString("yh_Phone"));

yh.setYh_Address(res.getString("yh_Address"));

yh.setYh_Jieshao(res.getString("yh_Jieshao"));

b = false;/*登錄成功則用b = false跳出循環(huán)*/

} else {

System.out.println("用戶名或密碼輸入錯誤,請重試!");

}

}

/*

* 因?yàn)閙ain函數(shù)那里加了throws Exception, 所以本來這里會有紅線,這里會沒紅線

*/

else if (num == 2) {

// 輸入為2,則 num == 2 ,執(zhí)行注冊功能

System.out.println("---------執(zhí)行注冊功能--------");

System.out.println("請輸入你的ID");

int ID = s.nextInt();

System.out.println("請輸入你的用戶名");

String uname = s.next();

System.out.println("請輸入你的用戶密碼");

String pwd = s.next();

System.out.println("請輸入你的真實(shí)姓名");

String name = s.next();

System.out.println("請輸入你的年齡");

int age = s.nextInt();

System.out.println("請輸入你的性別");

String sex = s.next();

System.out.println("請輸入你的手機(jī)號");

String phone = s.next();

System.out.println("請輸入你的地址");

String address = s.next();

System.out.println("請輸入你的個人介紹");

String jieshao = s.next();

String sql = "insert into yonghu values(" + ID + ",'" + uname

+ "'" + ", '" + pwd + "',' " + name + "', " + age

+ " , '" + sex + "' ," + "'" + phone + "'," + "'"

+ address + "'" + "," + "'" + jieshao + "')";

if (diaoyongSQL.ZSG(sql)) {

/*

* 如果用diaoyongSQL.ZSG(sql)執(zhí)行 這個sql語句可以成功,就說明注冊成功了

*/

System.out.println("注冊成功");

} else {


System.out.println("注冊失敗,請重試");

}

} else if (num == 3) {

// 輸入的數(shù)字為3,則 用System.exit(0);終止系統(tǒng),退出系統(tǒng):

System.exit(0);

} else {


System.out.println("內(nèi)容輸入錯誤!");

}

}

System.out.println("歡迎你來到詩書畫唱商店,尊敬的用戶" + yh.getYh_Uname()

+ ",請關(guān)注和點(diǎn)贊!拜托了!這對我很重要??!");

}

}


class yonghu {


private String yh_Address;// yh_Address代表用戶地址

private int yh_Age;// 代表用戶年齡

private int yh_ID;// 代表用戶編號

private String yh_Jieshao;// 代表用戶 個人介紹

private String yh_Name;// 代表用戶 真實(shí)姓名

private String yh_Phone;// 代表用戶 手機(jī)號

private String yh_Pwd;// 代表用戶 登錄密碼

private String yh_Sex;// 代表用戶 性別

private String yh_Uname;// 代表用戶登錄名


public String getYh_Address() {

return yh_Address;

}


public int getYh_Age() {

return yh_Age;

}


public int getYh_ID() {

return yh_ID;

}


public String getYh_Jieshao() {

return yh_Jieshao;

}


public String getYh_Name() {

return yh_Name;

}


public String getYh_Phone() {

return yh_Phone;

}


public String getYh_Pwd() {

return yh_Pwd;

}


public String getYh_Sex() {

return yh_Sex;

}


public String getYh_Uname() {

return yh_Uname;

}


public void setYh_Address(String yh_Address) {

this.yh_Address = yh_Address;

}


public void setYh_Age(int yh_Age) {

this.yh_Age = yh_Age;

}


public void setYh_ID(int yh_ID) {

this.yh_ID = yh_ID;

}


public void setYh_Jieshao(String yh_Jieshao) {

this.yh_Jieshao = yh_Jieshao;

}


public void setyh_Name(String string) {


}


public void setYh_Name(String yh_Name) {

this.yh_Name = yh_Name;

}


public void setYh_Phone(String yh_Phone) {

this.yh_Phone = yh_Phone;

}


public void setYh_Pwd(String yh_Pwd) {

this.yh_Pwd = yh_Pwd;

}


public void setYh_Sex(String yh_Sex) {

this.yh_Sex = yh_Sex;

}


public void setYh_Uname(String yh_Uname) {

this.yh_Uname = yh_Uname;

}


@Override

public String toString() {

return "yonghu [yh_ID=" + yh_ID + ", yh_Uname=" + yh_Uname

+ ", yh_Pwd=" + yh_Pwd + ", yh_Name=" + yh_Name + ", yh_Age="

+ yh_Age + ", yh_Sex=" + yh_Sex + ", yh_Phone=" + yh_Phone

+ ", yh_Address=" + yh_Address + ", yh_Jieshao=" + yh_Jieshao

+ "]";

}


}

/*想要由一個.java文件分割,轉(zhuǎn)移寫多個.java文件,可以進(jìn)行下圖的變換*/


JDBC綜合項(xiàng)目:登陸系統(tǒng)和注冊系統(tǒng),數(shù)據(jù)儲存到SQL中,驗(yàn)證碼,一個.java文件變多個的評論 (共 條)

分享到微博請遵守國家法律
石家庄市| 左权县| 河间市| 鄂伦春自治旗| 淄博市| 祁连县| 天镇县| 财经| 通辽市| 常熟市| 泸定县| 海兴县| 云南省| 永平县| 陕西省| 申扎县| 武山县| 临泽县| 五家渠市| 中卫市| 洛浦县| 图木舒克市| 阳新县| 蓝田县| 小金县| 汨罗市| 绍兴县| 宜丰县| 建始县| 五常市| 凌源市| 炉霍县| 锡林郭勒盟| 黔南| 高尔夫| 延吉市| 龙泉市| 铁岭县| 南漳县| 元氏县| 梁山县|