JavaWeb操作Msql数据库显示数据流程(源代码+详细步骤)

来源:互联网 发布:做奥数题的软件 编辑:程序博客网 时间:2024/05/20 05:56

本流程一共分为


教程地址:

资源地址:



一、准备工作:

1.mysql-connector-java-5.1.13-bin下载地址:http://pan.baidu.com/s/1kVPcfbx

2.将mysql-connector-java-5.1.13-bin.jar拷贝进项目根目录Ctrl+V,右键刚才的.jar包→Build Path→Add to Build Path,添加完成。



数据库对应表


二、创建包名为com.seesun2012.Model,添加User类,复制如下代码:

package com.seesun2012.Model; //根据所在的不同包名进行修改
public class User
{
//定义字段,根据数据库中对应表不同字段会有所不同
private int Id;//用户的编号
private String Name;//用户的真实姓名
private String Account;//用户的用户名
private String Password;//用户的密码
private String Grend;//用户的性别
private String Sfz;//用户的身份证
private int Type;//用户的类别
//无参构造函数
public User() {
super();
}
//带指定参数构造函数,用于传递参数
public User(String name, String account, String password, String grend,
String sfz, int type) {
super();
Name = name;
Account = account;
Password = password;
Grend = grend;
Sfz = sfz;
Type = type;
}
//构造函数,用于传递参数
public User(int id, String name, String account, String password,
String grend, String sfz, int type) {
super();
Id = id;
Name = name;
Account = account;
Password = password;
Grend = grend;
Sfz = sfz;
Type = type;
}
//封装字段,用于请求和发送通讯
public int getId() {
return Id;
}
public void setId(int id) {
Id = id;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getAccount() {
return Account;
}
public void setAccount(String account) {
Account = account;
}
public String getPassword() {
return Password;
}
public void setPassword(String password) {
Password = password;
}
public String getGrend() {
return Grend;
}
public void setGrend(String grend) {
Grend = grend;
}
public String getSfz() {
return Sfz;
}
public void setSfz(String sfz) {
Sfz = sfz;
}
public int getType() {
return Type;
}
public void setType(int type) {
Type = type;
}
}



三、新建一个包名为com.seesun2012.Util,添加DbUtils类,复制如下代码:

只需要修改包名、数据库名称、链接的用户名以及密码即可进行操作

package com.seesun2012.Util;//所在的包名(直接导包需要修改)
import java.sql.*;//引用
public class DbUtils {
//定义和初始化
private static Connection con = null;
private static PreparedStatement ps = null;
private static ResultSet rs = null;
private static final String driver = "com.mysql.jdbc.Driver";
//"students2"为数据库名称(需要修改)
private static final String url = "jdbc:mysql://localhost:3306/students";

//打开数据库驱动程序
static
{
//尝试打开数据库驱动程序
try
{
Class.forName(driver);//加载数据库驱动程序
}
catch (ClassNotFoundException e)
{
e.printStackTrace();//打印异常处理
}
}

//链接数据库
public static Connection getConnection()
{
try
{
//root为用户名,"seesun2012"为数据库链接密码(需要修改)
con = DriverManager.getConnection(url,"root","seesun2012");
}
catch (SQLException e)
{
e.printStackTrace();//打印异常处理
}
return con;
}

//无参查询方法
public static ResultSet getResultSet(String sql)
{
con = getConnection();//打开链接,链接数据库
try
{
ps = con.prepareStatement(sql);//执行sql语句
rs = ps.executeQuery();//将执行结果赋值给rs
}
catch (SQLException e)
{
e.printStackTrace();
}
//返回执行结果
return rs;
}

//带参数查询方法
public static ResultSet getResultSet(String sql,Object[] params)
{
con = getConnection();
try
{
ps = con.prepareStatement(sql);//执行sql语句
for (int i = 0; i < params.length; i++)
{
ps.setObject(i+1, params[i]);//遍历结果
}
rs = ps.executeQuery();//返回执行结果
}
catch (SQLException e)
{
e.printStackTrace();
}
return rs;//返回执行结果
}
//增删改方法,返回一个整数
public static int modifyEntiy(String sql, Object[] params)
{
int num = 0;
con = getConnection();
try
{
ps = con.prepareStatement(sql);//执行sql语句
for (int i = 0; i < params.length; i++)
{
ps.setObject(i+1, params[i]);
}
num = ps.executeUpdate();//返回查询
}
catch (SQLException e)
{
e.printStackTrace();
}
return num;//返回一个int整型
}

//关闭数据库方法(释放内存)
public static void closeAll()
{
//如果rs不为空,尝试关闭rs
if (rs != null)
{
try
{
rs.close();//执行关闭
rs = null;//清空rs
}
catch (SQLException e)
{
e.printStackTrace();//打印异常处理
}
}
//如果ps不为空,尝试关闭ps
if (ps != null)
{
try
{
ps.close();//执行关闭
ps = null;
}
catch (SQLException e)
{
e.printStackTrace();
}
}
//如果con不为空,尝试关闭con
if(con != null)
{
try
{
con.close();//执行关闭
con = null;
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
}


四、新建包名为com.seesun2012.DAO,添加UserDao类,复制如下代码:

package com.seesun2012.DAO; //包名(根据所在不同的包进行更改)
import java.awt.image.DataBuffer;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.seesun2012.Model.User;
import com.seesun2012.Util.DbUtils;

public class UserDao {
//定义sql空字符串
private static String sql="";
public List<User> FindAll()
{
sql="select * form user";//添加sql语句
ResultSet rs=DbUtils.getResultSet(sql);//执行sql语句
List<User> list=new ArrayList<User>();
//异常处理
try
{
//遍历数据
while (rs.next())
{
//初始化User对象
User u=new User();
u.setId(rs.getInt(1));
u.setName(rs.getString(2));
u.setAccount(rs.getString(3));
u.setPassword(rs.getString(4));
u.setGrend(rs.getString(5));
u.setSfz(rs.getString(6));
u.setType(rs.getInt(7));
list.add(u);
}
}
catch (Exception e)
{
e.printStackTrace();//异常处理打印
}
finally
{
DbUtils.closeAll();//无论是否执行try或者是catch都要执行finally
}
return list;//返回list
}
//带参数查询(根据id查询单个用户的信息)
public User FindAllById(int id)
{
sql="select * form user where Id=?"; //?号为占位符,站住用户穿过来的值
Object[] params={id};
ResultSet rs=DbUtils.getResultSet(sql, params);
//初始化User对象
User u=new User();
//异常处理
try
{
u.setId(rs.getInt(1));
u.setName(rs.getString(2));
u.setAccount(rs.getString(3));
u.setPassword(rs.getString(4));
u.setGrend(rs.getString(5));
u.setSfz(rs.getString(6));
u.setType(rs.getInt(7));
}
catch (Exception e)
{
e.printStackTrace();//异常处理打印
}
finally
{
DbUtils.closeAll();//无论是否执行try或者是catch都要执行finally
}
return u;//返回u
}

}
六、新建com.seesun2012.Servlet包,添加UserServlet类,继承HttpServlet父类,或者复制代码如下:

根据字段要求不同进行更改

package com.seesun2012.Servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.seesun2012.DAO.UserDao;

public class UserServlet extends HttpServlet {

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse reponse)
throws ServletException, IOException {
// TODO Auto-generated method stub
//执行doPost()方法
doPost(request, reponse);
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse reponse)
throws ServletException, IOException {
// TODO Auto-generated method stub
//获取和接收页面传过来的值,Integer.parseInt()为强制类型转换为int类型
int id=Integer.parseInt(request.getParameter("id"));
//初始化UserDao对象,调用FindAll()方法显示所有数据
UserDao ud=new UserDao();
ud.FindAll();
ud.FindAllById(id);//根据JSP页面传过来的值按条件进行查询
/*UserServlet类在web.xmlz中的默认配置:
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>UserServlet</servlet-name>
<servlet-class>com.seesun2012.Servlet.UserServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>UserServlet</servlet-name>
<url-pattern>/servlet/UserServlet</url-pattern>
</servlet-mapping>
*/
//接页面或者是桌面程序,具体方法后续上传
//...

}
}

七、根据不同需求,后期上传更多显方法,更有视频上传,尽请期待哦(有用请给个赞或者是评论哦)!





2 0