java访问MySQL数据库详解

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 F
2013023058 xiongyang 2014-12-30 F

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







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值