Java 链接mysql示例代码

根据java how to program编写

假设mysql里面有一个deitel的mysql用户,用户密码同样为deitel

数据库操作语句相关:

create DATABASE books;

create table Authors(
AuthorID int not null,
 FirstName char(255),
 LastName char(255),
 primary key (AuthorID)
);

insert into Authors(AuthorID, FirstName, LastName) values(10000, 'PerAFir', 'PerALas');
insert into Authors(AuthorID, FirstName, LastName) values(20000, 'PerBFir', 'PerBLas');
insert into Authors(AuthorID, FirstName, LastName) values(30000, 'PerCFir', 'PerCLas');

 Java代码操作相关:

import java.sql.*;

public class DisplayAuthors {

    static final String DATABASE_URL = "jdbc:mysql://localhost/books";
    //获取数据库地址
    public static void main(String[] args) {
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try {
            connection = DriverManager.getConnection(DATABASE_URL, "deitel", "deitel");
            //设定数据库要链接的数据库,第二个参数为用户名,第三个为当前用户名的密码

            statement = connection.createStatement();   //对当前链接的账户创建导入的操作语句

            resultSet = statement.executeQuery(
                    "SELECT AuthorID, FirstName, LastName FROM Authors"
            );
            //执行对数据库的执行操作,将结果序列赋值到resultSet当中
            //注:部分IDE编辑器会提示sql操作语句的关键词

            ResultSetMetaData metaData = resultSet.getMetaData();       //获取相关结果的数据
            int numberOfColumns = metaData.getColumnCount();            //获取数据的列数
            System.out.println("Authors Table of Books Database:\n");

            for (int i = 1; i <= numberOfColumns; i++) {    //需要注意的是,数据库的第一个元素是从索引1开始的
                System.out.printf("%-8s\t", metaData.getCatalogName(i));        //输出列的名称
            }
            System.out.println();

            while (resultSet.next()){
                for (int i = 1; i <= numberOfColumns; i++) {
                    //获取各个列里面的相关元素
                    System.out.printf("%-8s\t",resultSet.getObject(i));
                }
                System.out.println();
            }
        }catch (SQLException sqlException){
            sqlException.printStackTrace();
        }finally {
            try {
                //关闭各个线程
                resultSet.close();
                statement.close();
                connection.close();
            }catch (Exception exception){
                exception.printStackTrace();
            }
        }
    }

}

 

posted @ 2017-04-29 13:32  Lord_Age  阅读(143)  评论(0)    收藏  举报