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/

  • 相关阅读:
    数据库外连接和内连接详解
    关于省市联动问题的分析
    邮箱验证修改密码,通过邮箱找回密码
    格式化Json传递的日期
    项目中验证码的使用
    水仙花数
    回文数
    冒泡排序
    《终结者·洛谷小说》总集
    题解 CF151A 【Soft Drinking】
  • 原文地址:https://www.cnblogs.com/xsmile/p/7995124.html
Copyright © 2011-2022 走看看