zoukankan      html  css  js  c++  java
  • java连接mysql以及增删改查操作

    java连接数据库的代码基本是固定的,步骤过程觉得繁琐些,代码记起来对我来说是闹挺。直接上代码:

    (温馨提醒:你的项目提前导入连接数据库的jar包才有的以下操作 )

      1 class DBConnection{
      2     
      3 //    驱动类名
      4     String driver="com.mysql.jdbc.Driver";
      5 //    URL格式,最后为数据库名
      6     String url="jdbc:mysql://localhost:3306/javaTest?useUnicode=true&characterEncoding=UTF8";  //JavaTest为你的数据库名称
      7     String user="root";
      8     String password="123456";
      9     Connection  coon=null;
     10     public DBConnection(){
     11         try{
     12 //            加载驱动程序
     13             Class.forName(driver);
     14             coon=(Connection)DriverManager.getConnection(url,user,password);
     15             if(!coon.isClosed()){
     16                 System.out.println("成功连接数据库!");
     17             } 
     18         }catch (Exception e){
     19                 e.printStackTrace();
     20             }
     21     }
     22     public void close(){
     23         try{
     24             this.coon.close();
     25         }catch(Exception e){
     26             e.printStackTrace();
     27         }
     28     }
     29 //    增加数据
     30     public void add(String name,int age,String gender){
     31 //        String sql="insert into usrInfo(username,gender,age) values(?,?,?)";  //向usrInfo表中插入数据
     32         String sql="insert into usrInfo(age,gender,username) values('"+age+"','"+gender+"','"+name+"')";
     33         try{
     34             PreparedStatement preStmt=(PreparedStatement)this.coon.prepareStatement(sql);
     35 //            preStmt.setString(1, name);
     36 //            preStmt.setInt(3, age);
     37 //            preStmt.setString(2, gender);  //和上面的注释的一块组成另外一种插入方法
     38             preStmt.executeUpdate();
     39             System.out.println("插入数据成功!");
     40             preStmt.close();
     41         }catch(Exception e){
     42             e.printStackTrace();
     43         }
     44     }
     45     
     46 //    查询
     47     public void select(){
     48         String sql="select * from usrInfo";  //查询usrInfo表中的信息
     49         
     50         try{
     51             Statement stmt=(Statement)this.coon.createStatement();
     52             ResultSet rs=(ResultSet)stmt.executeQuery(sql);  //得到的是结果的集合
     53             System.out.println("--------------------------------");
     54             System.out.println("姓名"+"	"+"年龄"+"	"+"性别");
     55             System.out.println("--------------------------------");
     56             while(rs.next()){
     57                 String name=rs.getString("username");
     58                 int age=rs.getInt("age");
     59                 String gender=rs.getString("gender");
     60                 System.out.println(name+"	"+age+"	"+gender);
     61             }
     62             stmt.close();
     63         }catch(Exception e){
     64             e.printStackTrace();
     65         }
     66     }
     67     
     68 //    更改数据
     69     
     70     public void update(String name,int age){
     71         String sql="update usrInfo set age=? where username=?";  //推荐使用这种方式,下面的那种注释方式不知道为啥有时候不好使
     72 //        String sql="update usrInfo set age="+age+" where username='"+name+"'";  
     73         try{
     74             PreparedStatement prestmt=(PreparedStatement)this.coon.prepareStatement(sql);
     75             prestmt.setInt(1, age);
     76             prestmt.setString(2,name);
     77             prestmt.executeUpdate();
     78             
     79             
     80 //            Statement stmt=(Statement)this.coon.createStatement();
     81 //            stmt.executeUpdate(sql);
     82             System.out.println("更改数据成功!");
     83             prestmt.close();
     84         }catch(Exception e){
     85             e.printStackTrace();
     86         }
     87     }
     88     
     89 //    删除数据
     90     public void del(String name){
     91         String sql="delete from usrInfo where username=?";
     92         try{
     93             PreparedStatement prestmt=(PreparedStatement)this.coon.prepareStatement(sql);
     94             prestmt.setString(1, name);
     95             prestmt.executeUpdate();
     96             System.out.println("删除数据成功!");
     97             prestmt.close();
     98         }catch(Exception e){
     99             e.printStackTrace();
    100         }
    101     }
    102 }

    在主类中对其创建实例,实例中构造方法完成数据库的连接操作,实例调用增删改查方法进行对数据库信息的操作

     1 public class mysqlTest {
     2     public static void main(String args[]){
     3         Scanner in=new Scanner(System.in);
     4         DBConnection db=new DBConnection();
     5         
     6 //        插入数据
     7         System.out.println("输入姓名,年龄,性别:");
     8         String name=in.next();
     9         int age=in.nextInt();
    10         String gender=in.next();        
    11         db.add(name, age, gender);
    12         
    13 //        查询数据
    14         db.select();
    15         
    16 //        修改数据
    17 //        String name=in.next();
    18 //        int age=in.nextInt();
    19 //        db.update(name, age);
    20         
    21         
    22 //        删除数据
    23 //        String name=in.next();
    24 //        db.del(name);
    25 //        
    26 //        db.close();
    27     }
    28 
    29 }

    原创不易,尊重版权。转载请注明出处:http://www.cnblogs.com/xsmile/

  • 相关阅读:
    STL源码剖析之_allocate函数
    PAT 1018. Public Bike Management
    PAT 1016. Phone Bills
    PAT 1012. The Best Rank
    PAT 1014. Waiting in Line
    PAT 1026. Table Tennis
    PAT 1017. Queueing at Bank
    STL源码剖析之list的sort函数实现
    吃到鸡蛋好吃,看看是哪只母鸡下的蛋:好用的Sqlite3
    cJSON
  • 原文地址:https://www.cnblogs.com/xsmile/p/7995124.html
Copyright © 2011-2022 走看看