jdbc最基础的mysql操作

1.基本的数据库操作

这里连接数据库可以做成一个单独的utils类,我这里因为程序少就没有封装。

虽然现在jdbc被其他框架取代了,但这是框架的基础

如下:第一个是插入数据操作

package Databases;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class test0812 {

    public static void main(String[] args) throws Exception{
        // TODO Auto-generated method stub
        results();
    }
    public static void results() throws Exception {
        String driver="com.mysql.jdbc.Driver";
        String url="jdbc:mysql://localhost:3306/my";
        String user="root";
        String pwt="";
        Connection con=null;
        
            Class.forName(driver);
            con=DriverManager.getConnection(url, user, pwt);
            Statement sta=con.createStatement();
//            String sql="select * from  user";
//            ResultSet re=sta.executeQuery(sql);
//            while(re.next()) {
//                String username=re.getString("username");
//                String password=re.getString("password");
//                System.out.println(username+password);
//            }
//            这是插入自增的处理指明对应的值,不然会报错
//        String sql="insert into user(username,password) values('admin','123456')";
        String sql="insert into user values('6','admins','1212')";
        int n=sta.executeUpdate(sql);
        System.out.println(n);
        sta.close();
        con.close();
    }
}

2.查询的操作:

这里也附带一个查询package Databases;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class TestMain {

    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        insert();
    }
    public static void selects() throws Exception{
        //要使用数据库先要连接数据库(jdbk),1.注册数据库
        Class.forName("com.mysql.jdbc.Driver");
//us是自己建立的数据库名
String url="jdbc:mysql://localhost:3306/us"; String username="root"; String password=""; //连接数据库Connection中有一个方法 Connection con=DriverManager.getConnection(url,username,password); /** * 建立执行数据语句的平台 * Statement */

Statement sta=con.createStatement(); /** * 执行SQL查找 * executeQuery */ String sql="select * from us"; ResultSet rs=sta.executeQuery(sql); /** * ResultSet遍历用迭代器的 * 这里不需要直接用迭代器的,可以 * 直接用rs,next()实现 */ while(rs.next()){ String user=rs.getString("username"); String pwd=rs.getString("password"); System.out.println(user+pwd); } sta.close(); con.close(); } public static void insert()throws Exception{ /** * 连接数据库 */ Class.forName("com.mysql.jdbc.Driver"); String url="jdbc:mysql://localhost:3306/us"; String names="root"; String price=""; Connection con=DriverManager.getConnection(url,names,price); /** * 建立执行数据语句的平台 * 双引号里再添加引号的时候用单引号或者用\隔开 */ Statement sta=con.createStatement(); /** * 执行添加sql语句 us是 */ String sql="insert into us(?,?) values('durian','ds')"; int n=sta.executeUpdate(sql); // 插入数据用的是executeUpdate()方法 /** * 数据库的查询 * @throws Exception */ public static void select() throws Exception{ //要使用数据库先要连接数据库(jdbk),1.注册数据库 Class.forName("com.mysql.jdbc.Driver"); String url="jdbc:mysql://localhost:3306/us"; String names="root"; String price=""; //连接数据库Connection中有一个方法 Connection con=DriverManager.getConnection(url,names,price); /** * 建立执行数据语句的平台 * Statement */ Statement sta=con.createStatement(); /** * 执行SQL查找 * executeQuery user是表名 */ String sql="select * from user"; ResultSet rs=sta.executeQuery(sql); // 查找用的是executeQuery() /** * ResultSet遍历用迭代器的 * 这里不需要直接用迭代器的,可以 * 直接用rs,next()实现 */ while(rs.next()){ // 这里的names要和数据库中的名字要相对应,否则报错 System.out.println(rs.getString("names")+" "+rs.getString("price")+" "+rs.getString("number")); } sta.close(); con.close(); } }
3.用动态方法添加数值得用法:这是和上面的程序是分开的没有任何联系
这是添加类
3.1
package Databases_1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;

public class FatherClass {
    /**
     * 添加3个商品的信息
     */
    private String names;
    private String price;
    private String num;

    public String getNames() {
        return names;
    }
    public void setNames(String names) {
        this.names = names;
    }
    public String getPrice() {
        return price;
    }
    public void setPrice(String price) {
        this.price = price;
    }
    public String getNum() {
        return num;
    }
    public void setNum(String num) {
        this.num = num;
    }
    private Statement sta;
    private Connection con;
    
    public Statement getSta() {
        return sta;
    }
    public void setSta(Statement sta) {
        this.sta = sta;
    }
    public Connection getCon() {
        return con;
    }
    public void setCon(Connection con) {
        this.con = con;
    }
    /**
     * 设置了3个常量
     */
    private static final String URI = "jdbc:mysql://localhost:3306/us";
    private static final String USER = "root";
    private static final String PASS = "";

    public static String getUri() {
        return URI;
    }
    public static String getUser() {
        return USER;
    }
    public static String getPass() {
        return PASS;
    }

    /**
     * 数据库常用方法
     * @throws Exception
     */
    Scanner in=new Scanner(System.in);
    public  void numbers() throws Exception {
        //要使用数据库先要连接数据库(jdbk),1.注册数据库
        Class.forName("com.mysql.jdbc.Driver");
        //连接数据库Connection中有一个方法
        setCon(DriverManager.getConnection(URI,USER,PASS));
        /*con=DriverManager.getConnection(URI,USER,PASS);*/
        /**
         * 建立执行数据语句的平台
         * Statement
         */
        setSta(getCon().createStatement());
        /*sta=con.createStatement();*/
    }
    /**
     * 添加的方法
     */
    public  void inserts() throws Exception{
        System.out.println("请输入你要添加的商品名称");
        names=in.next();
        System.out.println("请输入商品的价格");
        price=in.next();
        /*setPrice(in.next());*/
        System.out.println("请输入商品数量");
        num=in.next();
        /*setNum(in.next());*/
        numbers();
        /**
         * 执行添加sql语句
         */
        String sql="insert into user values('"+names+"','"+price+"','"+num+"')";
        int n=sta.executeUpdate(sql);
        System.out.println("添加成功");
        sta.close();
        con.close();
    }
    /**
     * 删除的方法
     */
    public void delete() throws Exception{

        numbers();
        System.out.println("请输入你要删除的商品名称");
        names=in.next();
        String sql="delete into user where names='"+names+"'";
        System.out.println("删除成功");
        select();
    }

    /**
     * 修改的方法
     */
//    public void updata() throws Exception {
//        numbers();
//        System.out.println("请输入你要修改的商品信息(1.修改商品名称 2.修改商品价格 3.修改商品数量)");
//        int n=in.hashCode();
//        switch (n) {
//        case 1:
//            System.out.println("你要修改成的");
//            break;
//        case 2:
//
//            break;
//        case 3:
//
//            break;
//
//        }
//    }
    /**
     * 查找的方法
     */
    public void select() throws Exception{

        numbers();
        /**
         * 执行SQL查找
         * executeQuery
         */
        String sql="select * from user";
        ResultSet rs=sta.executeQuery(sql);
        /**
         * ResultSet遍历用迭代器的
         * 这里不需要直接用迭代器的,可以
         * 直接用rs,next()实现
         */
        while(rs.next()){
            System.out.println(rs.getString("names")+"  "+rs.getString("price")+" "+rs.getString("number"));
        }
        sta.close();
        con.close();
    }

}
 
 

3.2我这里设置了一个验证的效果:

package Databases_1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;
/**
 * 登陆系统
 * @author xixu
 *
 */
public class Login {
    private  String us;
    private  String pw;
    
    public  void Scanners() {
        Scanner in=new Scanner(System.in);
        System.out.println("请输入登陆的超市账号");
        us=in.next();
        System.out.println("请输入登陆的密码");
        pw=in.next();
    }

    public  boolean selects() throws Exception{
        Scanners();
        
        //要使用数据库先要连接数据库(jdbk),1.注册数据库
        Class.forName("com.mysql.jdbc.Driver");

        String url="jdbc:mysql://localhost:3306/us";
        String username="root";
        String password="";
        //连接数据库Connection中有一个方法
        Connection con=DriverManager.getConnection(url,username,password);
        /**
         * 建立执行数据语句的平台
         * Statement
         */
        Statement sta=con.createStatement();
        /**
         * 执行SQL查找
         * executeQuery
         */
        String sql="select * from us";
        ResultSet rs=sta.executeQuery(sql);
        /**
         * ResultSet遍历用迭代器的
         * 这里不需要直接用迭代器的,可以
         * 直接用rs,next()实现
         */
        while(rs.next()){
            String user=rs.getString("username");
            String pwd=rs.getString("password");
            if(us.equals(user)&&pw.equals(pwd)) {
                return true;
            }
        }

        sta.close();
        con.close();
        return false;
    }
}
3.3测试类

package Databases_1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Mains {

    public static void main(String[] args) throws Exception{
        Login lo=new Login();
        boolean s=lo.selects();
        if(s) {
            
            System.out.println("登陆成功");
            FatherClass fa=new FatherClass();
            fa.inserts();
            /*fa.select();
            fa.delete();*/
            
        }
        else {
            System.out.println("你的账号输入有误,请核对好账号密码");
        }    
        
        
        
        
        
        
        
        
    }    
}
 
  
 


 

 

猜你喜欢

转载自www.cnblogs.com/shuiqian/p/9465659.html