一、下載Mysql連接Jar包
1:jar可到Mysql官網下載:地址Mysql 連接jar包.
如圖,在下拉列表框中選擇Platform Independent

2:點擊DownLoad

3:在新得頁面點擊No thanks, just start my download.意思是,不,謝謝,我只想進行下載

二、集成mysql jar到你得項目中
1:先新建一個文件夾,用來存放第三方jar,這里就是用來存放mysql得連接jar包

2:在新彈出得窗口中填寫一個文件夾名稱,文件夾名可以隨便寫,只要符合windows文件夾命名就可以,這里我寫得是lib(library得簡寫)

3:你已經下載好了mysql jar包,如果第一步成功得話.如圖
把下載的jar復制到剛才新建的lib下(Ctrl+c Ctrl+v)

4:右擊lib下得mysql jar包------Build Path------Add to Build Path,如果成功得話,文件夾可能會有一些變化


三、連接mysql
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怎么可以呢),或者評價留言.
四、增刪查改
下面要做的事就是:
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(); //關閉連接
}
}
公眾號

