简单的页面对数据库的增删改查——新手入门推举
一、准备工作
- eclipse(无版本要求)或myeclipse都行,本人用的是eclipse
- Apache Tomcat,我用的是7.0版本
- 数据库 MySQL
- 需要掌握到的知识点:项目的基本框架搭建(经典三层框架)

二、项目的基本框架搭建
三层框架分别为:表现层、业务逻辑层、数据访问层。
- 表现层:包含JSP和Servlet等与web相关的内容,负责与浏览器的响应和请求;
- 业务层:只关心业务逻辑;
- 数据层:封装了对数据库的访问细节,数据操作类;
三层关系:表现层依赖业务层,而业务层依赖数据层
三、实现数据库的连接
需要在MySQL中创建所需数据库,并将表建好。
- 数据库名为test
- 项目信息表名为User,表结构如下,其中id为自增长主键,增量为1。

四、代码实现
1、在Util包下新建一个JDBCUtil 类用来处理对数据进行连接
package Util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCUtil {
private static String DBDriver="org.gjt.mm.mysql.Driver";
private static String url="jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8";
private static String user="root";
private static String password="root";
static Connection con=null;
static Statement sta=null;
static PreparedStatement psta=null;
//获得数据库的链接
public static Connection getConnection()
{
try {
Class.forName(DBDriver);
try {
con = DriverManager.getConnection(url, user, password);
return con;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
return null;
}
public static Statement createStatement()
{
try {
sta=getConnection().createStatement();
return sta;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//创造数据预处理对象
public static PreparedStatement createPreparedStatement(String sql)
{
try {
psta = getConnection().prepareStatement(sql);
return psta;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return psta;
}
//关闭所有打开的资源
public static void closeOperation()
{
if(psta==null)
{
try {
psta.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(sta==null)
{
try {
sta.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(con==null)
{
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
2、在Model包下创建User实体类(实体类中的对象对应数据库表中的字段数据)
package Model;
//类的设计
public class User {
private int id;
private String userName;
private String password;
private String Email;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return Email;
}
public void setEmail(String email) {
Email = email;
}
}
3、在Dao包下创建UserDao实现对数据库的增删改查方法
package Dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import Model.User;
import Util.MysqlHelper;
public class UserDao {
public boolean Login(String userName,String password){
String sql="select userName,password from User ";
ResultSet rs=MysqlHelper.executeQuery(sql);
try {
while(rs.next()){ //用户输入的信息和数据库中的信息做比较,判断输入是否正确;
String name = rs.getString("userName");
String pwd = rs.getString("password");
if(name.equals(userName) && pwd.equals(Util.MD5Helper.GetMD5Code(password))){
return true;
}
}
rs.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
public void addUser(User u)
{
String sql="insert into User (userName,password,Email) values (?,?,?)";
Util.MysqlHelper.executeUpdate(sql, u.getUserName(),Util.MD5Helper.GetMD5Code(u.getPassword()),u.getEmail());
}
public void delete
最低0.47元/天 解锁文章
2260

被折叠的 条评论
为什么被折叠?



