package bean;
public class Site {
private int site_id;
private String site_web;
@Override
public String toString() {
return "Site{" +
"site_id=" + site_id +
", site_web='" + site_web + '\'' +
'}';
}
public Site(int site_id, String site_web) {
this.site_id = site_id;
this.site_web = site_web;
}
public int getSite_id() {
return site_id;
}
public void setSite_id(int site_id) {
this.site_id = site_id;
}
public String getSite_web() {
return site_web;
}
public void setSite_web(String site_web) {
this.site_web = site_web;
}
}
package bean;
public class Student {
private int studnet_id;
private String student_name;
private String student_sex;
@Override
public String toString() {
return "Student{" +
"studnet_id=" + studnet_id +
", student_name='" + student_name + '\'' +
", student_sex='" + student_sex + '\'' +
'}';
}
public Student(int studnet_id, String student_name, String student_sex) {
this.studnet_id = studnet_id;
this.student_name = student_name;
this.student_sex = student_sex;
}
public int getStudnet_id() {
return studnet_id;
}
public void setStudnet_id(int studnet_id) {
this.studnet_id = studnet_id;
}
public String getStudent_name() {
return student_name;
}
public void setStudent_name(String student_name) {
this.student_name = student_name;
}
public String getStudent_sex() {
return student_sex;
}
public void setStudent_sex(String student_sex) {
this.student_sex = student_sex;
}
}
driver=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/jcg
user=root
password=
package Tools;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
public class JDBCTools {
public static Connection getConnection() throws Exception
{
//1. 准备连接数据库的4个字符串
String driver = null;
String jdbcUrl = null;
String user = null;
String password = null;
//1).创建Properties 对象
Properties properties = new Properties();
//2)。 获取jdbc.properties 对应的输入流
InputStream in =
JDBCTools.class.getClassLoader().getResourceAsStream("jdbc.properties");
//3). 加载2) 对应的输入流
properties.load(in);
//4). 具体决定user , password 等4个字符串
driver = properties.getProperty("driver");
jdbcUrl = properties.getProperty("jdbcUrl");
user = properties.getProperty("user");
password = properties.getProperty("password");
//2.加载数据库驱动程序(对应的Driver 实现类中有注册驱动的静态代码块)
Class.forName(driver);
//3. 通过DriverManager 的getConnection() 方法获取数据库连接.
return DriverManager.getConnection(jdbcUrl, user, password);
}
/**
* 关闭Statement 和Connection
*/
public static void release(Statement statement, Connection conn)
{
if(statement!=null)
{
try {
statement.close();
}catch(Exception e2){
e2.printStackTrace();
}
}
//*******
if(conn!=null)
{
try {
conn.close();
}catch(Exception e2){
e2.printStackTrace();
}
}
}
public static void release(ResultSet rs,
Statement statement, Connection conn)
{
if(rs != null)
{
try {
rs.close();
}catch(Exception e){
e.printStackTrace();
}
}
if(statement!=null)
{
try {
statement.close();
}catch(Exception e2){
e2.printStackTrace();
}
}
//********
if(conn!=null)
{
try {
conn.close();
}catch(Exception e2){
e2.printStackTrace();
}
}
}
}
Main
import Tools.JDBCTools;
import bean.Site;
import bean.Student;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class Main {
//student列表
public static List<Student> studentList = new ArrayList<Student>();
//site列表
public static List<Site> siteList = new ArrayList<Site>();
public void addStudentList(){
Connection conn = null;
Statement statement = null;
ResultSet rs = null;
try {
//1. 获取Connection
conn = JDBCTools.getConnection();
//2. 获取Statement
statement = conn.createStatement();
//3. 准备SQL
String sql = "SELECT * from students;";
//4. 执行查询, 得到ResultSet
rs = statement.executeQuery(sql);
//5. 处理ResultSet
while(rs.next())
{
studentList.add(new Student(rs.getInt(1),
rs.getString(2),rs.getString(3)));
}
} catch (Exception e) {
e.printStackTrace();
}finally {
//6. 关闭数据库源 这是调用JDBCTools 关闭数据库的方法
JDBCTools.release(rs, statement, conn);
}
}
public void addSiteList(){
Connection conn = null;
Statement statement = null;
ResultSet rs = null;
try {
//1. 获取Connection
conn = JDBCTools.getConnection();
//2. 获取Statement
statement = conn.createStatement();
//3. 准备SQL
String sql = "SELECT * from sites;";
//4. 执行查询, 得到ResultSet
rs = statement.executeQuery(sql);
//5. 处理ResultSet
while(rs.next())
{
siteList.add(new Site(rs.getInt(1),
rs.getString(2)));
}
} catch (Exception e) {
e.printStackTrace();
}finally {
//6. 关闭数据库源 这是调用JDBCTools 关闭数据库的方法
JDBCTools.release(rs, statement, conn);
}
}
//生成随机数据
public void generateRandomData(){
//获取两个列表的长度
int studentListLen = studentList.size();
int siteListLen = siteList.size();
//获取一个随机数字
int randomStudent = (int)(Math.random()*(studentListLen));
int randomSite = (int)(Math.random()*(siteListLen));
Student stu = studentList.get(randomStudent);
Site site = siteList.get(randomSite);
try{
File file =new File("data.txt");
//if file doesnt exists, then create it
if(!file.exists()){
file.createNewFile();
}
//true = append file
FileWriter fileWritter = new FileWriter(file.getName(),true);
fileWritter.write(stu.toString()+"\t"+site.toString()+"\n");
fileWritter.close();
System.out.println("Done");
}catch(IOException e){
e.printStackTrace();
}
}
public static void main(String[] args) {
Main jcg = new Main();
//连接数据库添加到列表元素里面
jcg.addStudentList();
jcg.addSiteList();
jcg.generateRandomData();
}
}