java访问MySQL数据库详解

来源:互联网 发布:网络捕鱼游戏随机算法 编辑:程序博客网 时间:2024/05/16 18:30

1:创建数据库

打开MySQL5.6 command line client。使用test数据库

use test

创建本次使用的表

CREATE TABLE student(id MEDIUMINT NOT NULL AUTO_INCREMENT,stu_num VARCHAR(10) NOT NULL,stu_name VARCHAR(10) NOT NULL,stu_sex CHAR(1) NOT NULL,stu_birth DATE NOT NULL,PRIMARY KEY(id))ENGINE=INNODB DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1;



并插入一条测试的数据

insert into student (stu_num, stu_name, stu_sex, stu_birth) values ("2013023058", "xanarry","F","2011-11-20");


2:设置编译环境:

然后在工程中添加MySQL的支持包,鼠标移动到工程名字处--》右键--》属性--》java buil path--》添加外部jar




找到MySQL安装路径中的jar支持文件



3:代码编写:

本工程中一共使用了三个代码文件

SQLConstants.java----记录及格数据库的常量

ConnectToMySQL.java----连接数据库

Manipulate.java----操作实现


代码清单(SQLConstants.java)

每个人以下的常量数据可能不一样,请根据自己的情况修改

public class SqlConstants {//数据库链接的地址“jdbc:mysql://+ip地址+端口+数据库名”public static final String DBURL = "jdbc:mysql://127.0.0.1:3306/test";//用户名public static final String DBUSER = "root";//登陆密码public static final String DBPASSWORD = "admin";//数据库连接驱动public static final String CLASSNAME = "com.mysql.jdbc.Driver";}


代码清单(ConnectToMySQL.java)


import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class ConnectToMySQL {private Statement statement;public ConnectToMySQL() {statement = null;}public Statement getStatement() {return statement;}public boolean connect() {try {Class.forName(SqlConstants.CLASSNAME);} catch (ClassNotFoundException e) {System.out.println(SqlConstants.CLASSNAME + " not find");e.printStackTrace();}try {Connection connection = DriverManager.getConnection(SqlConstants.DBURL, SqlConstants.DBUSER, SqlConstants.DBPASSWORD);statement = connection.createStatement();} catch (SQLException e) {System.out.println("connect error");e.printStackTrace();return false;}return true;}}


代码清单(Manipulate.java)

import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Manipulate {public static void main(String[] args) {Statement statement = null;ConnectToMySQL connectToMySQL = new ConnectToMySQL();if (connectToMySQL.connect())statement = connectToMySQL.getStatement();String sql = null;String name = "xiongyang";String num = "2013023058";String birth = "2014-12-30";String sex = "F";sql = "INSERT INTO student (stu_num, stu_name, stu_sex, stu_birth) VALUES (\"" + num + "\",\"" + name + "\",\"" + sex  + "\",\"" + birth + "\")";try {statement.execute(sql);} catch (SQLException e) {System.out.println("insert failed");e.printStackTrace();}sql = "SELECT * FROM STUDENT";try {ResultSet resultSet = statement.executeQuery(sql);while (resultSet.next()) {name = resultSet.getString("stu_num");num = resultSet.getString("stu_name");birth = resultSet.getString("stu_birth");sex = resultSet.getString("stu_sex");System.out.println(name + " " + num + " " + birth + " " + sex);}} catch (SQLException e) {System.out.println("insert failed");e.printStackTrace();}}}

3:运行后结果:

2012023058 xanarry 2011-11-20 F2013023058 xiongyang 2014-12-30 F

因为才创建表的时候向里面插入了一条数据,在代码中我们又插入了一条数据,所有最后查询的时候有两条数据显示







0 0
原创粉丝点击