楼主最近忙学校的事情,所以顺便把jdbc 的测试仪器传上来,我的字符集是UTF-8,数据库的是latin1(这个记不住了),所以带有比较针对性的语句,请看的人对号入座,
首先不多说,我们要获取连接(在此之前要要有jdbc 的数据库驱动程序,放入web-inf下的lib中 ps:复制即可)
static java.sql.Connection conn = null;// 数据库连接对象,
public static java.sql.Connection getConnection() {
if(conn == null){
try {
// 装载驱动
Class.forName("com.mysql.jdbc.Driver");
// 数据库地址
String jdURL = "jdbc:mysql://localhost:3306/database";
// 获取数据库连接对象(需要传入 地址,用户名,密码)
conn = java.sql.DriverManager.getConnection(jdURL, "root",
"password");
return conn;
} catch (Exception e) {
System.out.println("对象连接失败");
e.printStackTrace();
}
}
return conn;
}
在此之前有class这个类(其中有两个属性 int CLASS_BH,String CLASS_MC)
然后接下来是对数据的增,删,改,查四种操作
public static void add(int CLASS_BH,String CLASS_MC) throws SQLException {
// 获取数据库接口
conn = Connection.getConnection();
String sqladd = "insert into CLASS(CLASS_BH,CLASS_MC) values(?,?);";
PreparedStatement pst = null;
try {
// 预编译
pst = conn.prepareStatement(sqladd);
pst.setInt(1,CLASS_BH);
pst.setString(2, new String(CLASS_MC.getBytes("gb2312"),"ISO-8859-1"));//字符集转换
// 执行数据库代码
pst.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
pst.close();
}
}
public static void delete(int CLASS_BH) throws Exception {
// 获取数据库接口
conn = Connection.getConnection();
conn.setAutoCommit(false);
String sqldelete = "delete from CLASS where CLASS_BH =" +CLASS_BH;
try {
Statement stm = conn.createStatement();
stm.executeUpdate(sqldelete);
// 提交结果
conn.commit();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void update(int CLASS_BH,String CLASS_MC) throws SQLException {
// 获取数据库接口
conn = Connection.getConnection();
String sqlupdate = "update CLASS set CLASS_MC=? where CLASS_BH=?;";
PreparedStatement pst = null;
try {
// 预编译
pst = conn.prepareStatement(sqlupdate);
pst.setString(1, new String(CLASS_MC.getBytes("gb2312"),"ISO-8859-1"));
// 执行数据库代码
pst.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
pst.close();
}
}
public static CLASS check(int CLASS_BH) {//
// 获取数据库接口
conn = Connection.getConnection();
try {
Statement stm = conn.createStatement();
String sqlcheck = "select * from CLASS where CLASS_BH="+CLASS_BH;
ResultSet rs = stm.executeQuery(sqlcheck);
while (rs.next()) {
CLASS clas = new CLASS();
clas.setCLASS_BH(rs.getInt(1));
clas.setCLASS_MC(new String(rs.getString(2).getBytes("ISO-8859-1")));
return clas;
}
} catch (Exception e) {
e.printStackTrace();
}
// 若返回为空 则查询不到此用户
return null;
}