mysql注册数据库_基于mysql数据库的注册
前期準備:
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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你们怎么看待王菲呢?
- 下一篇: 多表连接去重复 mysql_连接多个表时