本流程一共分为
教程地址:
资源地址:
一、准备工作:
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>*///接页面或者是桌面程序,具体方法后续上传//...
}}
七、根据不同需求,后期上传更多显方法,更有视频上传,尽请期待哦(有用请给个赞或者是评论哦)!