MySQL+JAVA连接和操作
目录
MySQL+JAVA连接和操作
本教程讲述Java连接MySQL以及对数据库的增删改查操作。
java连接数据库的代码基本是固定的
class DBConnection{ // 驱动类名 String driver="com.mysql.jdbc.Driver"; // URL格式,最后为数据库名 String url="jdbc:mysql://localhost:3306/javaTest?useUnicode=true&characterEncoding=UTF8"; //JavaTest为你的数据库名称 String user="root"; String password="123456"; Connection coon=null; public DBConnection(){ try{ // 加载驱动程序 Class.forName(driver); coon=(Connection)DriverManager.getConnection(url,user,password); if(!coon.isClosed()){ System.out.println("成功连接数据库!"); } }catch (Exception e){ e.printStackTrace(); } } public void close(){ try{ this.coon.close(); }catch(Exception e){ e.printStackTrace(); } } // 增加数据 public void add(String name,int age,String gender){ // String sql="insert into usrInfo(username,gender,age) values(?,?,?)"; //向usrInfo表中插入数据 String sql="insert into usrInfo(age,gender,username) values('"+age+"','"+gender+"','"+name+"')"; try{ PreparedStatement preStmt=(PreparedStatement)this.coon.prepareStatement(sql); // preStmt.setString(1, name); // preStmt.setInt(3, age); // preStmt.setString(2, gender); //和上面的注释的一块组成另外一种插入方法 preStmt.executeUpdate(); System.out.println("插入数据成功!"); preStmt.close(); }catch(Exception e){ e.printStackTrace(); } } // 查询 public void select(){ String sql="select * from usrInfo"; //查询usrInfo表中的信息 try{ Statement stmt=(Statement)this.coon.createStatement(); ResultSet rs=(ResultSet)stmt.executeQuery(sql); //得到的是结果的集合 System.out.println("--------------------------------"); System.out.println("姓名"+"\t"+"年龄"+"\t"+"性别"); System.out.println("--------------------------------"); while(rs.next()){ String name=rs.getString("username"); int age=rs.getInt("age"); String gender=rs.getString("gender"); System.out.println(name+"\t"+age+"\t"+gender); } stmt.close(); }catch(Exception e){ e.printStackTrace(); } } // 更改数据 public void update(String name,int age){ String sql="update usrInfo set age=? where username=?"; //推荐使用这种方式,下面的那种注释方式不知道为啥有时候不好使 // String sql="update usrInfo set age="+age+" where username='"+name+"'"; try{ PreparedStatement prestmt=(PreparedStatement)this.coon.prepareStatement(sql); prestmt.setInt(1, age); prestmt.setString(2,name); prestmt.executeUpdate(); // Statement stmt=(Statement)this.coon.createStatement(); // stmt.executeUpdate(sql); System.out.println("更改数据成功!"); prestmt.close(); }catch(Exception e){ e.printStackTrace(); } } // 删除数据 public void del(String name){ String sql="delete from usrInfo where username=?"; try{ PreparedStatement prestmt=(PreparedStatement)this.coon.prepareStatement(sql); prestmt.setString(1, name); prestmt.executeUpdate(); System.out.println("删除数据成功!"); prestmt.close(); }catch(Exception e){ e.printStackTrace(); } } }
在主类中对其创建实例,实例中构造方法完成数据库的连接操作,实例调用增删改查方法进行对数据库信息的操作
public class mysqlTest { public static void main(String args[]){ Scanner in=new Scanner(System.in); DBConnection db=new DBConnection(); // 插入数据 System.out.println("输入姓名,年龄,性别:"); String name=in.next(); int age=in.nextInt(); String gender=in.next(); db.add(name, age, gender); // 查询数据 db.select(); // 修改数据 // String name=in.next(); // int age=in.nextInt(); // db.update(name, age); // 删除数据 // String name=in.next(); // db.del(name); // // db.close(); } }
移动端:请扫描本页面底部(右侧)二维码并关注微信公众号,回复:”教程” 选择相关教程阅