您的当前位置:首页正文

Java与数据库初步交互(后续需要进行优化)

来源:华拓网

1. 浅谈Java-MVC(个人理解)

l Model层存放数据实体

l Dao层访问数据库返回结果集给Controller层

l ModelLogic(Model分支)用来进行业务逻辑处理,并进行一系列的判断

l Controller层将结果返回给View层

l View层根据返回处理过后的结果集将数据显示出来

个人将Model细化成三层:

l Model层存放数据实体

l Dao访问数据库

l ModelLogic层进行业务逻辑处理

2. 数据交互

l jdbc连接数据库

l 执行sql语句,返回结果集对象

l 将返回的结果集对象进行判断(业务逻辑处理),返回给controller层

l controller层将较为简单的结果返回给View层

l View层将数据显示给用户

2.1连接数据库

try {

  Class.forName(driver);// 加载MySQL驱动

  // 下面建立驱动程序与数据库的连接

  conn = DriverManager.getConnection(url,user, password);

  System.out.println("连接数据库服务器成功");

  stmt = conn.createStatement();

  } catch (Exception e) {

  e.printStackTrace();

  }

2.2执行sql语句,返回结果集对象

public String getUser(String id) throws SQLException {

  String Sql = "SELECT * FROM bookms.user where u_count = ? ";

  String pass = null;

  try {

  PreparedStatement pr = conn.prepareStatement(Sql);

  pr.setString(1, id);

  rs = pr.executeQuery();

  while (rs.next()) {

    pass = rs.getString("u_password");

  }

  } catch (Exception e) {

  e.printStackTrace();

  }

  return pass;

}

2.3

public String getPass(String user) {

  UserDao userdao = new UserDao();

  String pass = null;

  try {

  pass = userdao.getUser(user);

  } catch (SQLException e) {

  e.printStackTrace();

  }

  return pass;

}

2.4

public boolean checkInfo(String user, String pass, boolean identity) {

  UserDaoImp imp = new UserDaoImp();

  if(imp.getPass(user)!=null && imp.getPass(user).equals(pass)) {

  System.out.println("密码正确");

  return true;

  }

  System.out.println("错误");

  return false;

}

2.5将结果返回view