JDBC通用模板

  1. 目录结构:
    JDBC通用模板_第1张图片
  2. Site
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;
    }
}

  1. Student
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;
    }
}

  1. jdbc.properties
driver=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/jcg
user=root
password=
  1. JDBCTools
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();
        }

}

你可能感兴趣的:(JDBC)