Java连接Mysql
发布日期:2021-08-28 20:23:47 浏览次数:48 分类:技术文章

本文共 6795 字,大约阅读时间需要 22 分钟。

一、下载Mysql连接Jar包

1:jar可到Mysql官网下载:地址.

如图,在下拉列表框中选择Platform Independent

image.png

2:点击DownLoad

image.png

3:在新得页面点击No thanks, just start my download.意思是,不,谢谢,我只想进行下载

image.png

二、集成mysql jar到你得项目中

1:先新建一个文件夹,用来存放第三方jar,这里就是用来存放mysql得连接jar包

image.png

2:在新弹出得窗口中填写一个文件夹名称,文件夹名可以随便写,只要符合windows文件夹命名就可以,这里我写得是lib(library得简写)

image.png

3:你已经下载好了mysql jar包,如果第一步成功得话.如图

把下载的jar复制到刚才新建的lib下(Ctrl+c Ctrl+v)

image.png

4:右击lib下得mysql jar包------Build Path------Add to Build Path,如果成功得话,文件夹可能会有一些变化

image.png

image.png

三、连接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
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
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(); //关闭连接 }}

转载于:https://www.cnblogs.com/HouXinLin/p/10849190.html

转载地址:https://blog.csdn.net/weixin_33970449/article/details/94440370 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:2016年1月25日 《1024伐木累》-小白篇之开发网站,三天!(中篇-2奇怪的IE)-总章节十一...
下一篇:【pip 安装TensorFlow 】 Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。:...

发表评论

最新留言

很好
[***.229.124.182]2024年04月25日 17时53分03秒