jdbs对数据的操作

 

 楼主最近忙学校的事情,所以顺便把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;
	}

 

你可能感兴趣的:(数据库,jdbs,web后台)