码迷,mamicode.com
首页 > 数据库 > 详细

java连接mysql以及增删改查操作

时间:2017-12-07 00:00:09      阅读:355      评论:0      收藏:0      [点我收藏+]

标签:exti   格式   for   connector   dstat   font   cut   更改   end   

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("姓名"+"\t"+"年龄"+"\t"+"性别");
 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+"\t"+age+"\t"+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/

java连接mysql以及增删改查操作

标签:exti   格式   for   connector   dstat   font   cut   更改   end   

原文地址:http://www.cnblogs.com/xsmile/p/7995124.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!