JDBC操作----执行数据库的 增删改查 操作

      数据库连接成功后,即可对数据库进行具体的操作

一、执行数据库数据的插入操作

       使用PreparedStatement接口执行数据库数据的插入操作,代码如下 :

import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.PreparedStatement ;
import java.text.SimpleDateFormat ;

public class AddDemo{
       //定义Mysql数据库驱动程序
     public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
       //定义Mysql数据库连接地址
     public static final String DBURL = "jdbc:mysql://localhost:3306/czm" ;   //czm为数据库名称
       //所连接的Mysql数据库的用户名
     public static final String DBUSER = "root" ;
       //所连接的Mysql数据库的密码
     public static final String DBPASS = "123456" ;
     public static void main(String args[]) throws Exception{

     Connection conn = null ;                 //连接数据库
     PreparedStatement pstmt = null ;         //操作数据库
        
       //设置插入数据库数据   
     String name = "Tony" ;                   //姓名
     String password = "123456" ;             //密码
     int age = 20 ;                           //年龄
     String sex = "男" ;                      //性别   
     String birthday = "2018-11-29" ;         //生日
      
     java.util.Date temp = null ;             //声明一个Date对象
       //通过SimpleDateFormat类将一个字符串变为java.util.Date类型
     temp = new SimpleDateFormat("yyyy-MM-dd").parse(birthday) ;
       //通过java.util.Date类的getTime()方法取出具体的日期,并将其变为java.sql.Date类型的数据
     java.sql.Date bir = new java.sql.Date(temp.getTime()) ;

       //编写预处理SQL语句
     String sql = "INSERT INTO user(name,password,age,sex,birthday) VALUES (?,?,?,?,?)" ; 
       
     Class.forName(DBDRIVER) ;	              //加载驱动程序	                                                      
  	
     conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;	 //连接数据库	                      
  

     pstmt = conn.prepareStatement(sql) ;  //实例化PreparedStatement对象,注意此时prepare后面没有d	
     pstmt.setString(1,name);              //设置第一个"?"的内容
     pstmt.setString(2,password);          //设置第二个"?"的内容
     pstmt.setInt(3,age);                  //设置第三个"?"的内容
     pstmt.setString(4,sex);               //设置第四个"?"的内容
     pstmt.setDate(5,bir);                 //设置第五个"?"的内容

     pstmt.executeUpdate();                //执行数据库数据的更新操作

     pstmt.close() ;                         //操作关闭
     conn.close() ;                        //关闭数据库
		
   }
}

程序运行结果 :

       

二、执行数据库数据的删除操作

       使用PreparedStatement接口执行数据库数据的删除操作,代码如下 :

import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.PreparedStatement ;

 public class DeleteDemo{

   public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
   public static final String DBURL = "jdbc:mysql://localhost:3306/czm" ;    //czm为数据库名称
   public static final String DBUSER = "root" ;
   public static final String DBPASS = "123456" ;

   public static void main(String args[]) throws Exception{
      Connection conn = null ;                                       //连接数据库
      PreparedStatement pstmt = null ;                               //操作数据库
      Class.forName(DBDRIVER) ;                                      //加载驱动程序
      String sql = "DELETE FROM user WHERE id=4;" ;                  //编写SQL操作语句
      conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;      //连接数据库
      pstmt = conn.prepareStatement(sql) ;                           //实例化PreparedStatement对象,注意此时prepare后面没有d
      pstmt.executeUpdate();                                         //执行数据库数据的更新操作

      pstmt.close() ;                                                //操作关闭
      conn.close() ;                                                 //关闭数据库
	
    }
}

程序运行结果 :

      

三、执行数据库数据的修改操作

       使用PreparedStatement接口执行数据库数据的修改操作,代码如下 :

import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.PreparedStatement ;
  public class UpdateDemo{
	public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
	public static final String DBURL = "jdbc:mysql://localhost:3306/czm" ;    //czm为数据库名称
	public static final String DBUSER = "root" ;
	public static final String DBPASS = "123456" ;
	public static void main(String args[]) throws Exception{
	Connection conn = null ;                                       //连接数据库
	PreparedStatement pstmt = null ;                               //操作数据库
	Class.forName(DBDRIVER) ;                                      //加载驱动程序
	  //编写SQL操作语句
	String sql = "UPDATE user SET name='czm',password='654321',age=25,sex='女',birthday='2018-11-28'WHERE id=5;" ;
        conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;      //连接数据库
	pstmt = conn.prepareStatement(sql) ;                           //实例化PreparedStatement对象,注意此时prepare后面没有d
	pstmt.executeUpdate();                                         //执行数据库数据的更新操作

	pstmt.close() ;                                                //操作关闭
	conn.close() ;                                                 //关闭数据库
	
    }
}

程序运行结果 :

   

四、 执行数据库数据的查询操作

           使用PreparedStatement接口与ResultSet接口执行数据库数据的查询操作,代码如下 :

import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.PreparedStatement ;
import java.sql.ResultSet ;

  public class SelectDemo{
	public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
	public static final String DBURL = "jdbc:mysql://localhost:3306/czm" ;     //czm为数据库名称
	public static final String DBUSER = "root" ;
	public static final String DBPASS = "123456" ;
	public static void main(String args[]) throws Exception{

        Connection conn = null ;                 //连接数据库
	PreparedStatement pstmt = null ;         //操作数据库

	String keyWord = "c" ;                  //设置查询关键字           
        ResultSet rs = null ;                   //保存查询结果
    
	//编写SQL操作语句
	String sql = "SELECT id,name,password,age,sex,birthday FROM user WHERE name LIKE ? OR password LIKE ?" ; 

	Class.forName(DBDRIVER) ;                                       //加载驱动程序
	conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;	//连接数据库
	pstmt = conn.prepareStatement(sql) ;                            //实例化PreparedStatement对象,注意此时prepare后面没有d
        pstmt.setString(1,"%" + keyWord + "%");                         //设置第一个"?",使用模糊查询
	pstmt.setString(2,"%" + keyWord + "%");                         //设置第二个"?",使用模糊查询

	rs = pstmt.executeQuery() ;                                     //实例化ResultSet对象

	while(rs.next()){                                               //指针向下移动
	   int id = rs.getInt(1);                                       //取得id内容
	   String name = rs.getString(2);                               //取得name内容
	   String pass = rs.getString(3);                               //取得password内容
	   int age = rs.getInt(4) ;                                     //取得age内容
	   String sex = rs.getString(5);                                //取得sex内容
	   java.util.Date d = rs.getDate(6);                            //取得birthday内容

             //输出查询结果
	   System.out.print("编号 :" + id + ";  ");
	   System.out.print("姓名 :" + name + ";  ");
	   System.out.print("密码 :" + pass + ";  ");
	   System.out.print("年龄 :" + age + ";  ");
	   System.out.print("性别 :" + sex + ";  ");
	   System.out.println("生日 :" + d + ";  ");                                     
	   System.out.println("-------------------------------------------------------------------------") ;

	   }

	   rs.close() ;                       //关闭结果集
	   pstmt.close() ;                    //关闭操作
	   conn.close() ;                     //关闭数据库

    }
}

程序运行结果 : 

      

   以上程序进行的是模糊查询,"%"表示通配符。如果此时需要查询全部数据,则SQL语句如下 :

String sql = "SELECT id,name,password,age,sex,birthday FROM user" ;

      

猜你喜欢

转载自blog.csdn.net/Rachel_pan/article/details/84617597
今日推荐