1、下載Mysql鏈接Jar包java
1:jar可到Mysql官網下載:地址Mysql 鏈接jar包.
如圖,在下拉列表框中選擇Platform Independentmysql
2:點擊DownLoad程序員
3:在新得頁面點擊No thanks, just start my download.意思是,不,謝謝,我只想進行下載sql
2、集成mysql jar到你得項目中windows
1:先新建一個文件夾,用來存放第三方jar,這裏就是用來存放mysql得鏈接jar包測試
2:在新彈出得窗口中填寫一個文件夾名稱,文件夾名能夠隨便寫,只要符合windows文件夾命名就能夠,這裏我寫得是lib(library得簡寫)ui
3:你已經下載好了mysql jar包,若是第一步成功得話.如圖
把下載的jar複製到剛纔新建的lib下(Ctrl+c Ctrl+v)this
4:右擊lib下得mysql jar包------Build Path------Add to Build Path,若是成功得話,文件夾可能會有一些變化google
3、鏈接mysql.net
1:新建一個MysqlManager 類,若是你不知道怎麼建,以及創建在什麼地方,我想你多是缺乏一些java以及IED得知識,不如回頭學一下再過來.
public class MysqlManager { private static Connection mConnect; static { try { System.out.println("init---"); Class.forName("com.mysql.cj.jdbc.Driver"); mConnect=DriverManager.getConnection("jdbc:mysql://localhost:3306/demo", "root", "hxl495594.."); } catch (ClassNotFoundException | SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static Connection getConnection() { return mConnect; } public static void close() { try { mConnect.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
2:測試代碼Main.java
public class Main { public Main() { } public static void main(String[] args) { MysqlManager.getConnection(); } }
3:若是運行以上代碼沒有報錯,說明jar包成功集成了,而且成功鏈接到mysql.
可是着該死的異常老是伴隨着咱們,好比:
1:java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
你鏈接得密碼可能有誤
2:java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
沒有找到com.mysql.cj.jdbc.Driver類,多是你第二步沒有作對,不妨回頭仔細閱讀一下
3:Caused by: java.net.UnknownHostException: localhost
你得mysql主機鏈接路徑可能存在問題,
若是你的異常再也不我上面列舉的範圍內,那你能夠嘗試使用百度或者Google(做爲程序員,不會上google怎麼能夠呢),或者評價留言.
4、增刪查改
下面要作的事就是:
1:建立一個tb_user表,有三個字段,user_name、user_pwd、user_money
2:增長兩個有錢人
3:查詢一個具體的人
4:修改他的密碼
import java.math.BigDecimal; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.List; public class Mysql { public Connection mConnect; public Mysql(Connection connection) { super(); this.mConnect = connection; } /** * 建立表 * @param connection * @param sql * @return */ public boolean createTable(String sql) { boolean result = false; try { Statement statement = mConnect.createStatement(); statement.execute(sql); result = true; statement.close(); } catch (SQLException e) { System.err.println("建立表異常:"+e.getMessage()); } return result; } /** * 添加用戶 * @param users */ public void addUser(List<UserBean> users) { try { Statement statement =mConnect.createStatement(); /** * 循環添加 */ for (UserBean userBean : users) { String sql ="INSERT INTO `demo`.`tb_user`(`user_name`, `user_pwd`, `user_money`) VALUES ('"+ userBean.getmUserName()+"','"+userBean.getmUserPass()+"',"+userBean.getmMoney()+")"; statement.executeUpdate(sql);//執行語句 } statement.close(); } catch (SQLException e) { /** * 可能會重複添加 */ if(e.getMessage().contains("PRIMARY")) { System.err.println("主鍵重複"); } } } /** * 獲取指定用戶信息 * @param userName * @return */ public UserBean getUserInfos(String userName) { String sql ="SELECT * FROM `demo`.`tb_user` WHERE user_name='" +userName+"';"; try { Statement statement =mConnect.createStatement(); ResultSet result = statement.executeQuery(sql); if(result.first()) { UserBean userBean =new UserBean( result.getString("user_name"), result.getString("user_pwd"), new BigDecimal(result.getFloat("user_money"))); return userBean; } statement.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { } return null; } /** * 更新用戶密碼 * @param userName 用戶名字 * @param oldPdw 用戶之前密碼 * @param newPwd 用戶新密碼 * @return */ public int upUserPwd(String userName,String oldPdw,String newPwd) { int result =-1; try { String sql="UPDATE `demo`.`tb_user` SET `user_pwd` = '"+newPwd+ "' WHERE `user_name` = '"+userName+"'"; UserBean user =getUserInfos(userName); if(user!=null) { /** * 判斷傳遞過來的老密碼是否正確 */ if(user.getmUserPass().equals(oldPdw)) { Statement statement =mConnect.createStatement(); statement.executeUpdate(sql); statement.close(); result= 0; }else { result=1; System.err.println("密碼不正確,不容許更改"); } }else { result=2; System.err.println("無此用戶"); } }catch(SQLException e) {} return result; } }
測試(Main.java)
public class Main { public Main() { } public static void main(String[] args) { String createTablesSql="CREATE TABLE IF NOT EXISTS `tb_user` (\r\n" + " `user_name` varchar(255) CHARACTER SET utf8mb4 NOT NULL,\r\n" + " `user_pwd` varchar(255) CHARACTER SET utf8mb4 NOT NULL,\r\n" + " `user_money` decimal(10, 2) NOT NULL DEFAULT 0.00,\r\n" + " PRIMARY KEY (`user_name`) USING BTREE\r\n" + ") CHARACTER SET = utf8mb4"; Mysql mysql =new Mysql(MysqlManager.getConnection()); /** * 建立表 */ boolean ok =mysql.createTable(createTablesSql); /** * 添加用戶 */ List<UserBean> list =new ArrayList<>(); list.add(new UserBean("張五", "123",new BigDecimal(1000000.5)) ); list.add(new UserBean("張四", "123456",new BigDecimal(2000000)) ); mysql.addUser(list); //獲取指定用戶信息 UserBean user =mysql.getUserInfos("張五"); if (user!=null) { System.out.println(user.getmUserPass() +" "+user.getmMoney()); } //修改用戶密碼 mysql.upUserPwd(user.getmUserName(), user.getmUserPass(), "123456789"); MysqlManager.close(); //關閉鏈接 } }