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();
    }

}

移动端:请扫描本页面底部(右侧)二维码并关注微信公众号,回复:”教程” 选择相关教程阅

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

CAPTCHAis initialing...