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