四、根据前面的题目描述,实现前面提到的checkUserExistDao类中checkIsExist(Stirg tel, Stringcode)方法(30分)。 1) 已知注册用户的数据库表结构(User)如下所示请完成上述要求的代码编写(15分)。 注I:采用Statement 对象执行SQL语句;Connection对象的createStatement()方法创建Statement。 Public checkIsExist(String name){ Connection conn=null;PreparedStatement pstm=null;Statement stm =null; ResultSet rs=null; Class. forName("com. mysql. jdbc. driver"); String url="jdbc:mysql://localhost:3306/20JK?useSSL=false&serverTimezone=UTC"; conn=DriverManager. getConnection(url,"root","123"); 2)请简述Statement 和PreparedStatement对象在使用时的异同。(5分)。 3)综合以上题的描述,简述你对MVC开发模式的理解(10分)。
时间: 2023-11-28 19:50:54 浏览: 77
1) 实现checkUserExistDao类中checkIsExist(String tel, String code)方法的代码:
```
public boolean checkIsExist(String tel, String code) {
Connection conn = null;
PreparedStatement pstm = null;
ResultSet rs = null;
boolean exist = false;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/20JK?useSSL=false&serverTimezone=UTC";
conn = DriverManager.getConnection(url, "root", "123");
String sql = "SELECT * FROM User WHERE tel=? AND code=?";
pstm = conn.prepareStatement(sql);
pstm.setString(1, tel);
pstm.setString(2, code);
rs = pstm.executeQuery();
if (rs.next()) {
exist = true;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
if (pstm != null) {
pstm.close();
}
if (conn != null) {
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
return exist;
}
```
2) Statement和PreparedStatement对象的异同:
Statement对象是用于执行静态SQL语句的,每次执行SQL语句都需要编译一次,效率较低。PreparedStatement对象是用于执行动态SQL语句的,可以预编译SQL语句,提高了执行效率。PreparedStatement对象可以防止SQL注入攻击,也更加安全。
3) MVC开发模式是指将应用程序划分为三个部分:模型(Model)、视图(View)和控制器(Controller)。模型表示应用程序中处理数据和业务逻辑的部分,视图表示应用程序中处理数据显示的部分,控制器是模型和视图之间的桥梁,负责处理用户的输入和调用模型来处理用户请求。MVC开发模式可以将应用程序分离为不同的组件,降低了应用程序的耦合度,提高了程序的可维护性和可扩展性。
阅读全文