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不为空,尝试关闭rsif (rs != null){try{rs.close();//执行关闭rs = null;//清空rs}catch (SQLException e){e.printStackTrace();//打印异常处理}}//如果ps不为空,尝试关闭psif (ps != null){try{ps.close();//执行关闭ps = null;}catch (SQLException e){e.printStackTrace();}}//如果con不为空,尝试关闭conif(con != null){try{con.close();//执行关闭con = null;}catch (SQLException e){e.printStackTrace();}}}}
四、新建包名为com.seesun2012.DAO,添加UserDao类,复制如下代码:
六、新建com.seesun2012.Servlet包,添加UserServlet类,继承HttpServlet父类,或者复制代码如下: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}}
根据字段要求不同进行更改
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 {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse reponse)throws ServletException, IOException {// TODO Auto-generated method stub//执行doPost()方法doPost(request, reponse);}@Overrideprotected 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
- JavaWeb操作Msql数据库显示数据流程(源代码+详细步骤)
- SQL Server还原数据库操作详细步骤
- msql库操作用户权限连接数据库
- 使用create database语句创建数据库的详细操作步骤
- C++利用MSQL API连接和操作数据库
- [python3.6 flask web学习]Flask操作msql数据库
- oracle数据库数据泵导入DMP文件(详细步骤)
- sql server 2012 本地数据导入数据库详细步骤
- php+msql 数据组合并保存到数据库中
- 数据库(详细步骤)
- javaweb数据库操作
- centos7+tomcat部署JavaWeb项目详细步骤
- JavaWeb项目部署到服务器详细步骤
- Android中数据库的操作流程详细解释
- uDig连接PostgreSQL显示shp数据操作步骤
- JSP数据库操作例程 - 数据分页显示
- JSP数据库操作例程 - 数据分页显示
- JSP数据库操作数据分页显示
- 源码安装xtrabackup
- 【其他】大整数类Bignum
- Leetcode数学类题目
- foreach循环
- Android中SharedPreferences的使用
- JavaWeb操作Msql数据库显示数据流程(源代码+详细步骤)
- Static关键字
- 八大排序之选择排序
- Python多线程中的join函数的使用与含义
- DataNitro: 用Python高效处理Excel数据
- java中的网络通信
- storyboard 修改 无反应
- 插入排序
- BZOJ4551 [Tjoi2016&Heoi2016]树