JDBCの基本操作


自分でjdbcのいくつかの簡単な操作に対して、私はmysqlを使っています
1.mysqlデータベースでテーブルを作成する
create table student ( name varchar(10),sex varchar(10),id int(10) );

2.Studioのbeanクラスの作成
public class Student {
    private String name;
    private String sex;
    private int id;

    public Student(String name, String sex, int id) {
        super();
        this.name = name;
        this.sex = sex;
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
}

3 . srcディレクトリの下にpropertiesファイルを作成します.その内容は次のとおりです.
username=root
password=123
url=jdbc\:mysql\://localhost\:3306/song

4.Connectionオブジェクトを返す独自のJDBCUtilsツールクラスを作成します.
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;

public class JDBCUtil {
    public static Connection getConnection(){
        try {
        Properties properties=new Properties();
        properties.load(new FileInputStream("src/properties.properties"));
        String username=properties.getProperty("username");
        String password=properties.getProperty("password");
        String url=properties.getProperty("url");

            Class.forName("com.mysql.jdbc.Driver");
            Connection con=DriverManager.getConnection(url, username, password);
            return con;
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;       
        }          
    }
}

5.これはStudentDaoクラスが主にデータベースを操作して、削除して調べます
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import edu.jju.info.Student;
import edu.jju.util.JDBCUtil;

public class StudentDao {
    /** *      * @return */
     public ResultSet findAll(){
         String sql="select * from student";
        Connection con= JDBCUtil.getConnection();
         try {
            Statement st=con.createStatement();
            ResultSet rs=st.executeQuery(sql);
            return rs;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();

        }

        return null;

     }
     /** *      student   * @param student * @return */
     public boolean updateStudent(Student student){
        Connection con=JDBCUtil.getConnection();
    String  sql="update student set name='"+student.getName()+
                "',sex='"+student.getSex()+"'"+ " where id="+student.getId();
    System.out.println(sql);
         try {
            Statement st=con.createStatement();
            int i=st.executeUpdate(sql);
            if (i>=0) {
                return true;
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
         return false; 
     }
     /** *   student   * @param id * @return */
     public boolean deleteStudent(Student student){
            try {
                Connection con=JDBCUtil.getConnection();
                String sql="delete from student where id=?";
                //    PreparedStatement,      sql  
                PreparedStatement ps=con.prepareStatement(sql);
                ps.setInt(1, student.getId());
                int i=ps.executeUpdate();
                if(i>=0){
                    return true;
                }
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        return false;

     }
     /** *      * @param student * @return */
     public boolean insertStudent(Student student){
         try {
            Connection con=JDBCUtil.getConnection();
             String sql="insert into student (name,sex,id) values(?,?,?)";
             PreparedStatement ps=con.prepareStatement(sql);
             ps.setString(1, student.getName());
             ps.setString(2, student.getSex());
             ps.setInt(3, student.getId());
             int b= ps.executeUpdate();
             System.out.println(sql);
             if (b>=0) {
                return true;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

         return false;

     }

}

6.これはテストクラスです.

import java.sql.ResultSet;
import java.sql.SQLException;

import edu.jju.dao.StudentDao;
import edu.jju.info.Student;


public class Test {

    /** * @param args */
    public static void main(String[] args) {
        try {
            StudentDao dao=new StudentDao();    
            ResultSet rs=dao.findAll();
            //         
            while(rs.next()){
                String name=rs.getString("name");
                String sex=rs.getString("sex");
                int id=rs.getInt("id");
                System.out.println(name+"::"+sex+"::"+id);      
            }


            //   student
            Student student =new Student("  "," ",5);   
            boolean b=  dao.insertStudent(student);
            System.out.println("    :"+b);

            ResultSet rs1=dao.findAll();
            //         
            while(rs1.next()){
                String name=rs1.getString("name");
                String sex=rs1.getString("sex");
                int id=rs1.getInt("id");
                System.out.println(name+"::"+sex+"::"+id);      
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}

6.運転結果:
lisi::nu::1
wangwu::nan::2
  :: ::4true
lisi::nu::1
wangwu::nan::2
  :: ::4
  :: ::5