java,求写出代码

java,求写出代码在MySQL数据库上建立一个Student表,字段包含ID,Name,Age;利用JDBC实现: A.连接断开数据库;B.在该表插入一条记录;C.使用Select语句访问所有数据并输出

首先你要下载一些jar包,必须要mysql-connector-java-5.1.8-bin.jar 驱动包,搞个线程池的化还需要commons-collections-3.1.jar,commons-dbcp-1.2.2.jar,commons-pool.jar等,不懂可以百度一下;然后按照下面操作进行即可。

--创建并使用'test'数据源
CREATE DATABASE test;
USE  test;

--创建Student表格
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE IF EXISTS `Student`;
CREATE TABLE `Student` (
  `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `Name` varchar(24) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '姓名',
  `Age` int(3) NOT NULL DEFAULT '1' COMMENT '年龄',
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--插入数据
INSERT INTO `Student` VALUES ('1', '小明', '12');
INSERT INTO `Student` VALUES ('2', '小亮', '13');
INSERT INTO `Student` VALUES ('3', '小红', '11');
INSERT INTO `Student` VALUES ('4', '小花', '10');
INSERT INTO `Student` VALUES ('5', '小凯', '13');

// 第一步:建立一个类对象
/**
 * 学生实体类
 */
public class Student {
/** 学号 */
private long id;
/** 名称 */
private String name;
/** 年龄 */
private int age;

/**
 * 获得学号
 */
public long getId() {
return id;
}

/**
 * 设置学号
 */
public void setId(long id) {
this.id = id;
}

/**
 * 获得名称
 */
public String getName() {
return name;
}

/**
 * 设置学号
 */
public void setName(String name) {
this.name = name;
}

/**
 * 获得年龄
 */
public int getAge() {
return age;
}

/**
 * 设置年龄
 */
public void setAge(int age) {
this.age = age;
}

/**
 * 用于输出信息
 */
@Override
public String toString() {
return "该学生名称是" + name + ",年龄为" + age + ",学号为" + id + "。";
}

}

//第二步 实现jdbc并输出数据至控制台
public class DBDemo {

// JDBC 驱动名及数据库 URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/test";

// 数据库的用户名与密码,需要根据自己的设置
static final String USER = "root";
static final String PASS = "123456";

public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
// 注册 JDBC 驱动
Class.forName("com.mysql.jdbc.Driver");

// 打开链接
System.out.println("连接数据库...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);

// 执行查询
System.out.println(" 实例化Statement...");
stmt = conn.createStatement();
String sql;
sql = "SELECT ID, Name, Age FROM Student";
ResultSet rs = stmt.executeQuery(sql);

// 展开结果集数据库
while (rs.next()) {

// 创建一个对象接收每一条数据
Student student = new Student();

// 通过字段检索
student.setId(rs.getLong("ID"));
student.setName(rs.getString("Name"));
student.setAge(rs.getInt("Age"));

// 逐个输出查询到的信息
student.toString();
}
// 完成后关闭
rs.close();
stmt.close();
conn.close();
} catch (SQLException se) {
// 处理 JDBC 错误
se.printStackTrace();
} catch (Exception e) {
// 处理 Class.forName 错误
e.printStackTrace();
} finally {
// 关闭资源
try {
if (stmt != null)
stmt.close();
} catch (SQLException se2) {
} // 什么都不做
try {
if (conn != null)
conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
System.out.println("Goodbye!");
}
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-11-09
安徽万工 零元入学,零基础入学!上学期间有双重补贴噢!
相似回答