日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

mysql注册数据库_基于mysql数据库的注册

發(fā)布時間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql注册数据库_基于mysql数据库的注册 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前期準備:

1.下載并安裝mysql數(shù)據(jù)庫5.X版本即可

2.學習相關的sql語法

3.在lib包導入mysql-connector-java-5.1.38-bin.jar數(shù)據(jù)庫連接的jar包

創(chuàng)建數(shù)據(jù)庫和用戶表:

也可以用Navicat Premium圖形化工具快速創(chuàng)建CREATE TABLE user (

`id` int(16) NOT NULL AUTO_INCREMENT,

`username` varchar(32) NOT NULL,

`password` varchar(32) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB? DEFAULT CHARSET=utf8mb4;

總的目錄 ? 相比而言多了JdbcConnection.java和UserServlet2.java

JdbcConnection.java主要是用來寫獲取與數(shù)據(jù)庫連接的方法getConnection()

其中最為重要的是:private static String url="jdbc:mysql://localhost/demo";//數(shù)據(jù)庫的URL

private static String driverClass="com.mysql.jdbc.Driver";//mysql數(shù)據(jù)庫驅(qū)動

private static String user="root";//數(shù)據(jù)庫連接帳號,默認為root

private static String password="****";//數(shù)據(jù)庫連接密碼,根據(jù)安裝mysql時的密碼

在加載數(shù)據(jù)庫驅(qū)動和連接數(shù)據(jù)庫時可能會有異常,可以try catch捕獲或throws拋出Class.forName(driverClass);//加載數(shù)據(jù)庫驅(qū)動

con=DriverManager.getConnection(url, user, password);//獲取數(shù)據(jù)庫連接

UserServlet2.java

新建一個servlet類名為UserServlet2,只需要重寫doget和dopost方法即可,web.xml自動配置

關鍵屬性:Connection conn;//獲取數(shù)據(jù)庫連接

String sql;//執(zhí)行的sql語句

PreparedStatement ps;//用來執(zhí)行sql語句的對象

User user=new User();//封裝數(shù)據(jù)的對象

由于是注冊,也就是向數(shù)據(jù)庫插入數(shù)據(jù),所以sql語句為 ?id由于是自動增長可以不傳值,注意sql語句的寫法sql="INSERT INTO user (username,password) values(?,?)";

別忘了用request獲取傳過來的數(shù)據(jù),在這里我對傳過來的數(shù)據(jù)做了下判斷,意思是兩次密碼不同的,用戶名或密碼為空或空格的都不能注冊,也就是不會寫入數(shù)據(jù)庫if(password.equals(confirmpass)&&username.trim().length()!=0&&password.trim().length()!=0)

PreparedStatement的對象負責執(zhí)行sql語句,先對插入字段選好插入的位置,與數(shù)據(jù)庫字段相對應,不然會報java.sql.SQLException: No value specified for parameter 1這樣的錯誤,第一個位置的index索引值為0ps=conn.prepareStatement(sql);

ps.setString(1, username);

ps.setString(2, password);

ps.executeUpdate();

另外 由于是插入操作,所以是executeUpdate()方法,更新數(shù)據(jù)庫,executeQuery()是搜索操作,誤寫會報java.sql.SQLException: Can not issue data manipulation statements with executeQuery().

還有 測試的時候要action到UserServlet2,所以稍微改下action="servlet/UserServlet2"

具體的效果可以測試下

完整項目完整代碼

總結

以上是生活随笔為你收集整理的mysql注册数据库_基于mysql数据库的注册的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。