JDBCのInsertメソッド
4つのクラスを作成します:StuInfo(エンティティークラス)、DBConn(データベースの接続、閉じる)、DBUtil(データベース操作)、RunMain(テストクラス)
1.StuInfoエンティティークラス:
2.DBConnクラス、データベースに対する操作:データベースを開く(データベースを接続する)、操作が終わった後にデータベースを閉じる、資源を解放する
3.DBUtilクラス:主にデータのよく使う操作で、実例の中で主にInsert操作を実現する
4.RunMainクラス:テストクラス、DBUtilの方式が実現するかどうかをテストする
1.StuInfoエンティティークラス:
package com.lykion;
public class StuInfo {
private String sno;
private String sname;
private String dname;
private String ssex;
private int cno;
private double mark;
private String type;
public StuInfo() {
}
public StuInfo(String sno, String sname, String dname, String ssex, int cno, double mark, String type) {
super();
this.sno = sno;
this.sname = sname;
this.dname = dname;
this.ssex = ssex;
this.cno = cno;
this.mark = mark;
this.type = type;
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getDname() {
return dname;
}
public void setDname(String dname) {
this.dname = dname;
}
public String getSsex() {
return ssex;
}
public void setSsex(String ssex) {
this.ssex = ssex;
}
public int getCno() {
return cno;
}
public void setCno(int cno) {
this.cno = cno;
}
public double getMark() {
return mark;
}
public void setMark(double mark) {
this.mark = mark;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
2.DBConnクラス、データベースに対する操作:データベースを開く(データベースを接続する)、操作が終わった後にデータベースを閉じる、資源を解放する
package com.lykion;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConn {
private static final String url = "jdbc:mysql://localhost:3306/test"; //
private static final String username = "root"; //
private static final String password = "123456"; //
private static final String driver = "com.mysql.jdbc.Driver"; //mysql
private static final Connection conn = null;
/**
*
* @return
*/
public static Connection conn() {
Connection conn = null;
try {
Class.forName(driver); //
try {
conn = DriverManager.getConnection(url, username, password); //
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return conn;
}
/**
*
* @return
*/
public static void close() {
if(conn != null) {
try {
conn.close(); //
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
3.DBUtilクラス:主にデータのよく使う操作で、実例の中で主にInsert操作を実現する
package com.lykion;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
public class DBUtil {
private static Connection conn = null;
private static PreparedStatement ps = null;
private static ResultSet rs = null;
private static final CallableStatement cs = null;
/**
* Insert
* @param stu
*/
public static void Insert(StuInfo stu) {
conn = DBConn.conn(); // DBconnection conn()
String sql = "INSERT INTO student01 (sno,sname,dname,ssex,cno,mark,type) VALUES(?,?,?,?,?,?,?)"; // sql
try {
ps = conn.prepareStatement(sql);
/**
* StuInfo ,
*
* set
* get
*/
ps.setString(1, stu.getSno());
ps.setString(2, stu.getSname());
ps.setString(3, stu.getDname());
ps.setString(4, stu.getSsex());
ps.setInt(5, stu.getCno());
ps.setDouble(6, stu.getMark());
ps.setString(7, stu.getType());
ps.executeUpdate(); // sql
System.out.println(" (* ̄︶ ̄)");
} catch (SQLException e) {
e.printStackTrace();
}finally {
DBConn.close();
}
}
}
4.RunMainクラス:テストクラス、DBUtilの方式が実現するかどうかをテストする
package com.lykion;
public class RunMain {
public static void main(String[] args) {
StuInfo stu = new StuInfo("9006", " ", " ", " ", 8, 99.5, " ");
DBUtil.Insert(stu);
}
}