如何使用Java代码连接本地Mysql数据库

Python013

如何使用Java代码连接本地Mysql数据库,第1张

下面是一个从 mysql 数据库获取用户信息的例子,可以参考一下:

import java.sql.Connection

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.SQLException

import java.sql.Statement

import java.util.ArrayList

import java.util.List

 

// 用户类,存储单个用户信息

class User {

     

    private int id

     

    private String name

 

    public User(int id, String name) {

        this.id = id

        this.name = name

    }

 

    public int getId() {

        return id

    }

     

    public void setId(int id) {

        this.id = id

    }

     

    public String getName() {

        return name

    }

     

    public void setName(String name) {

        this.name = name

    }

 

    @Override

    public String toString() {

        return "User [id=" + id + ", name=" + name + "]"

    }

}

 

public class Demo1 {

 

    public static void main(String[] args) throws ClassNotFoundException, SQLException {

         

        // 本例使用 mysql 数据库,演示将数据库 test 的 tb_users 表中的用户信息

        // 放到 List 中

         

        // 加载数据驱动

        Class.forName("com.mysql.jdbc.Driver")

         

        // 数据库连接字符串, 此例数据库为 test

        String url = "jdbc:mysql://localhost:3306/test"

        String user = "root"    // 数据库用户名

        String password = ""    // 数据库密码

         

        // 打开一个数据连接

        Connection conn = DriverManager.getConnection(url, user, password)

         

        Statement stmt = conn.createStatement()

         

        // 获取表 tb_users 所有用户信息到结果集中

        ResultSet rs = stmt.executeQuery("SELECT id, name FROM tb_users")

         

        // 定义一个存放用户信息的 List

        List<User> users = new ArrayList<>()

         

        // 提取用户信息,并将用户信息放入 List

        while (rs.next()) {

             

            // 获取用户ID

            int id = rs.getInt(1)

             

            // 获取用户名

            String name = rs.getString(2)

             

            users.add(new User(id, name))

        }

 

        rs.close()

        stmt.close()

        conn.close()

         

        // 显示用户信息

         

        for (User u : users) {

            System.out.println(u)

        }

    }

}

1. 在开发环境中加载指定数据库的驱动程序。

接下来的实验中,使用数据库MySQL,所以需要下载MySQL支持JDBC的驱动程序(mysql-connector-java-5.1.18-bin.jar)。

2. 开发环境是MyEclipse,将下载得到的驱动程序加载进开发环境中。

3. 在Java程序中加载驱动程序。

在Java程序中,通过 “Class.forName(“指定数据库的驱动程序”)”

方式来加载添加到开发环境中的驱动程序,例如Class.forName(“com.mysql.jdbc.Driver”)。

4. 创建数据连接对象:通过DriverManager类创建数据库连接对象Connection。

DriverManager类作用于Java程序和JDBC驱动程序之间,用于检查所加载的驱动程序是否可以建立连接,然后通过它的getConnection方法,根据数据库的URL、用户名和密码,创建一个JDBC

Connection 对象。代码如:Connection connection = DriverManager.getConnection(“连接数据库的URL", "用户名",

"密码”)。

其中,URL=协议名+IP地址(域名)+端口+数据库名称;用户名和密码是指登录数据库时所使用的用户名和密码。具体示例创建MySQL的数据库连接代码如下:

Connection connectMySQL =

DriverManager.geiConnection(“jdbc:mysql://localhost:3306/myuser","root"

,"root" )

5. 创建Statement对象:Statement 类的主要是用于执行静态 SQL

语句并返回它所生成结果的对象。

通过Connection 对象的 createStatement()方法可以创建一个Statement对象。例如:Statement statament =

connection.createStatement()具体示例创建Statement对象代码如下:Statement statamentMySQL =connectMySQL.createStatement()

6. 调用Statement对象的相关方法执行相对应的 SQL

语句:通过execuUpdate()方法用来数据的更新,包括插入和删除等操作,例如向staff表中插入一条数据的代码:

statement.excuteUpdate( "INSERT INTO

staff(name, age, sex,address, depart, worklen,wage)" + " VALUES ('Tom1', 321,

'M', 'china','Personnel','3','3000' ) ")

7. 通过调用Statement对象的executeQuery()方法进行数据的查询,而查询结果会得到

ResulSet对象,ResulSet表示执行查询数据库后返回的数据的集合,ResulSet对象具有可以指向当前数据行的指针。通过该对象的next()方法,使得指针指向下一行,然后将数据以列号或者字段名取出。如果当next()方法返回null,则表示下一行中没有数据存在。使用示例代码如下:

ResultSet resultSel =

statement.executeQuery( "select * from staff" )

8. 关闭数据库连接:使用完数据库或者不需要访问数据库时,通过Connection的close() 方法及时关闭数据连接。

安装配置MySQL

1.首先打开运行mysql-5.5.29-winx64.msi(就是上面的MySQL V5.5),你会进入到安装界面:

2.接下来。。。next->next。。。一直点击next,当你看到这样的界面:

这个是选择MySQL的安装目录。我的习惯是开发工具一般都选择默认的路径。当然你想使用其他路径也行,不过还是要提醒一点,路径不要包含中文。

继续next。

这个是MySQL服务的端口号,我们最好不要修改,不过要记住这个值3306。

然后next。。。欢迎你来到坑前!(我没让你踩呢,不急)

这个界面是设置我们MySQL系统的字符集。默认是让我们选择字符集”Latin1”,我就问你你知道这个是什么字符集吗。。。那你不要怪我孤陋寡闻,我第一次就是直接默认过去,最后发现,我的数据库不能使用中文!会出现乱码。然后也是折腾了好久才解决。

我们何不一开始就把问题解决呢对吧。这里我们选择第三项,然后选择字符集”gbk”,这个不用解释了吧。。。见下图:

继续next。看到设置管理员账号信息界面了吧:

选中第一个,然后输入密码(建议记性不好的同学使用密码”123456”。。。=。=)。设置好密码之后,你登陆MySQL的账号就是:

userName:root

password:***(你的密码)*

接下来嘛。。。等。。。wait。。。

不过相信我这个过程不会持续很久。Done:

3.接下来,检查下MySQL是否正确安装:

“我的电脑”->”管理”->”服务”。查看MySQL服务是否启动:

如果你发现你的MySQL尚未启动,可以在”运行”中使用”net start mysql”启动服务。然后在任务管理器中查看MySQL的运行状态: