命令行方式使用JDBC

 教学中的JDBC都是在IDE(如eclipse中)加入驱动jar包的,这次试试用命令行的方式来访问JDBC!

环境:Windows7 + java8 + mysql 5.5 + mysql-connector-java-5.1.7-bin.jar

我的工作目录下文件如下:


这是我mysql中创建的数据库和表以及里面的数据(这个根据具体情况来):



    下面谈谈代码,Person类主要是对表进行映射,是表里数据的容器。JDBCTest类就是重头戏了,使用JDBC的基本步骤都在里面。

  Person.java:

package org.rr.jdbctest;

public class Person {
	private int pid;
	private int age;
	private String name;
	private String sex;
	
	public Person(int pid, int age, String name, String sex) {
		this.pid = pid;
		this.age = age;
		this.name = name;
		this.sex = sex;
	}
	
	public int getId() {
		return pid;
	}
	
	public int getAge() {
		return age;
	}
	
	public String getName() {
		return name;
	}
	
	public String getSex() {
		return sex;
	}
	
	@Override 
	public String toString() {
		return "ID: " + getId() + " , Age: " + getAge() + ", " +
		"Name: " + getName() + ", Sex:" + getSex() + ".";
	}
}

JDBCTest.java:

import java.sql.*;
import org.rr.jdbctest.Person;
import java.util.*;

public class JDBCTest {
	public static void main(String[] args) throws SQLException, ClassNotFoundException{
		// Load Driver
		Class.forName("com.mysql.jdbc.Driver");
		
		// Build Connection
		Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123");
		
		// Create Statement
		Statement stat = conn.createStatement();
		
		// Execute Sql
		ResultSet rs = stat.executeQuery("select * from person");
		List<Person> list = new ArrayList<>();
		
		while (rs.next()) {
			Person person = new Person(rs.getInt("pid"), rs.getInt("age"),
			rs.getString("name"),rs.getString("sex"));
			list.add(person);
		}
		
		rs.close();
		stat.close();
		conn.close();
		
		for (Person p : list) {
			System.out.println(p.toString());
		}
	}
}

 cmd到你的工作目录下命令行执行:

set classpath=%classpath%;mysql-connector-java-5.1.7-bin.jar   
javac -d . Person.java
javac -d . JDBCTest.java
java JDBCTest

 运行截图:


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值