java与mysql连接 使用mysql-connector-java连接msql

打印 上一主题 下一主题

主题 924|帖子 924|积分 2772

文章简介

本文章讲解使用 mysql-connector-java-8.0.30 建立java程序和mysql本地数据库的连接。
自用文章,仅作参考。


mysql-connect-java-8.0.30   (来自Maven)
IDE:IntelliJ IDEA
安装方法(任选其一)

通过IDEA项目结构安装

1.打开项目标项目结构(Project Structure)

2.在弹出的窗口选择 "库(Libraries)"-> "+" ->"来自Maven(From Maven)"

3.输入 mysql-connector-java,
并点击搜索开始搜索,
等候搜索结果后展开搜索结果,
选择mysql:mysql-connector-java:8.0.30

(发起、可选)勾选"下载到(Download to)


4.至此,外部库下载完成。


通过外部链接下载并添加

1.进入Maven官网:Maven 存储库:搜索/浏览/浏览 --- Maven Repository: Search/Browse/Explore (mvnrepository.com)
2.顶部搜索框输入mysql-connector-java,回车搜索。得到结果与下图类似,根据相干信息选择第二个

3.根据自身需求选择下载版本,本文章使用8.0.30版本,点击版本号进入页面

4.根据自身需求选择下载jar包或者添加依赖,本文章选择下载jar包,添加依赖不必要再下载jar包

5.回到IDEA,在项目下创建一个"lib"目次,目次名字可自取,发起"lib"存放外部库。
将下载好的jar包粘贴至"lib"目次,右键jar包选择"添加为库(Add as Library ...)"
弹出的窗口再选择 "OK" 即可

6.至此,添加完成。
使用方法

导入

  1. import com.mysql.cj.jdbc.MysqlDataSource;
  2. import javax.sql.DataSource;
  3. import java.sql.Connection;
  4. import java.sql.PreparedStatement;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
复制代码
连接mysql数据库

  1. DataSource dataSource = new MysqlDataSource();//创建数据库资源对象
  2. //强制转换,原因自查 setUrl()参数自定义,对于windows系统一般格式是:  
  3. //jdbc:mysql://localhost:3306/创建的数据库名,此处我创建了一个名为accounts的数据库(creat database)
  4. ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://localhost:3306/accounts");
复制代码
设置连接数据库的用户名即暗码(数据库的用户名和暗码在安装时已设置)
  1. ((MysqlDataSource) dataSource).setUser("root");//此处设置用户名,windows系统默认root
  2. ((MysqlDataSource) dataSource).setPassword("50314");//密码在安装mysql时已经设置
复制代码
发起连接,获得连接必要处理惩罚SQLException异常
  1. try {
  2.         Connection connection = dataSource.getConnection();//获得与数据库的连接
  3.       
  4.     }
  5. catch (SQLException e) {
  6.      e.printStackTrace();
  7.     }
复制代码
使用预处理惩罚语句

创建一个预处理惩罚对象
  1. PreparedStatement preparedStatement;
复制代码
定义一个String变量,用于存储mysql的代码,如下所示
命令执行的是"select * from accounts where account_name=" + username +" and account_password=" + password;
输入mysql命令时请确保无任何符号遗漏
  1. String sql = "select * from accounts where account_name=" + username +" and account_password=" + password;
复制代码
执行命令,并获得结果
  1. try {
  2.      preparedStatement = connection.prepareStatement(sql);//预处理
  3.      ResultSet resultSet = preparedStatement.executeQuery();//执行处理并返回结果
  4. }catch (SQLException e) {
  5.        e.printStackTrace();
  6. }
复制代码
现在上述resultSet存储了来自mysql筛选后的结果。
本章示例完备代码:(演示怎样在数据库中是否保存有某个账号)

  1. package database;import com.mysql.cj.jdbc.MysqlDataSource;
  2. import javax.sql.DataSource;
  3. import java.sql.Connection;
  4. import java.sql.PreparedStatement;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;public class AccountDataBase {    private PreparedStatement preparedStatement;    private Connection connection;    private static AccountDataBase accountDataBase;    private AccountDataBase() {        preparedStatement = null;        DataSource dataSource = new MysqlDataSource();        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://localhost:3306/accounts");        ((MysqlDataSource) dataSource).setUser("root");        ((MysqlDataSource) dataSource).setPassword("50314");        try {             connection = dataSource.getConnection();            preparedStatement = connection.prepareStatement("insert into account values(?,?,?,?)");        }        catch (SQLException e) {            e.printStackTrace();        }    }    public boolean checkAccount(String username, String password) {        String sql = "select * from accounts where account_name=" + username +" and account_password=" + password;        try {            preparedStatement = connection.prepareStatement(sql);            ResultSet resultSet = preparedStatement.executeQuery();            if (resultSet.next()) {                return true;            }        }catch (SQLException e) {            e.printStackTrace();        }        return false;    }    public static AccountDataBase getAccountDataBase() {        accountDataBase = new AccountDataBase();        return accountDataBase;    }}
复制代码
总结

本文章简单讲解了怎样在java中直接使用mysql的语法筛选数据库信息。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

汕尾海湾

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表