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/
时间: 2024-12-29 06:54:41