zoukankan      html  css  js  c++  java
  • 【Java】操作数据库

    工具: eclipse
        MySQL
        Navicat for MySQL
        MySQL 连接驱动:mysql-connector-java-5.0.4-bin.jar

    SQL 代码

    CREATE TABLE user
    (
        id          VARCHAR(255),
        name          VARCHAR(255),
        birth        VARCHAR(255),
        gender      VARCHAR(255),
        favorite      VARCHAR(255)
    );

    Java 代码

    package model.vo;
    
    public class Student {
        private String id;
        private String name;
        private String birth;
        private String gender;
        private String favorite;
        
        public Student(String id, String name, String birth, String gender,
                String favorite) {
            super();
            this.id = id;
            this.name = name;
            this.birth = birth;
            this.gender = gender;
            this.favorite = favorite;
        }
        public Student() {
            super();
        }
        public String getId() {
            return id;
        }
        public void setId(String id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getBirth() {
            return birth;
        }
        public void setBirth(String birth) {
            this.birth = birth;
        }
        public String getFavorite() {
            return favorite;
        }
        public void setFavorite(String favorite) {
            this.favorite = favorite;
        }
        public String getGender() {
            return gender;
        }
        public void setGender(String gender) {
            this.gender = gender;
        }
    }
    

    Java 连接

    所需的jar包下载

    百度网盘 提取码: 68pv

    使用方法:
      1. 在工程目录中创建lib文件夹,将下载好的JDBC(jar包)放到该文件夹下。
      2. 右键工程名,选择 Buiding Path | Configure Buiding Path ,在java build path中的Libraries分页中选择Add JARs...,选择刚才添加的JDBC(jar包)。

    数据库连接

    package tools;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    public class DbTools {
    
        public Connection con;
    
        public Connection getCon() throws Exception {
    
            // 1.加载驱动(按照驱动类的名字《完整名字:包名.类名》把该类加载到内存中)
            Class.forName("com.mysql.jdbc.Driver");
            // 2.建立连接
            String url = "jdbc:mysql://localhost:3306/work?useUnicode=true&characterEncoding=utf-8";
            String dbUser = "root";
            String dbPassword = "mysqladmin";
            con = DriverManager.getConnection(url, dbUser, dbPassword);
            System.out.println("success");
            return con;
        }
        
        public void close() throws Exception{
            if(con!=null)
                con.close();
        }
    
        
    }

        public void add(String id, String name, String gender, String birth, String favorite) throws Exception
        {
            DbTools db = new DbTools();
            Connection con = db.getCon();
            // 创建语句
            String sql = "insert into tstudent (id,name,gender,birth,favorite) values (?,?,?,?,?) ";
            PreparedStatement pst = con.prepareStatement(sql);
            pst.setString(1, id);
            pst.setString(2, name);
            pst.setString(3, gender);
            pst.setString(4, birth);
            pst.setString(5, favorite);
            pst.executeUpdate();
        }

        public void delete(String id) throws Exception{
            DbTools db=new DbTools();
            Connection con=db.getCon();
            // 3.创建语句
            String sql = " delete from tstudent where id=? ";
            PreparedStatement pst = con.prepareStatement(sql);
            pst.setString(1, id);
            pst.executeUpdate();
            pst.close();
            db.close();
        }

        public void updateStudent(String id, String name, String gender, String birth, String favorite) throws Exception
        {
            DbTools db = new DbTools();
            Connection con = db.getCon();
            // 创建语句
            String sql = "update tstudent set ";
            if(name!=null && name.length()>0)
                sql=sql+" and name = ?";
            if(gender!=null && gender.length()>0)
                sql=sql+" and gender=?";
            if(birth!=null && birth.length()>0)
                sql+= " and birth=?";
            if(birth!=null && favorite.length()>0)
                sql+= " and favorite=?";
            sql+=" where id='?' ";
            
            System.out.println(sql);
            
            PreparedStatement pst = con.prepareStatement(sql);
            // 4.执行语句(语句中如果有参数,则需要先对参数赋值)
            ArrayList<String> params=new ArrayList<String>();
            if(id!=null && id.length()>0)
                params.add(id);
            if(name!=null && name.length()>0)
                params.add(name);
            if(gender!=null && gender.length()>0)
                params.add(gender);
            for(int i=0;i<params.size();i++){
                pst.setString(i+1, params.get(i));
            }
            
            pst.executeUpdate();
            pst.close();
            db.close();
        }

        // 按条件查询满足条件的学生数据
        /*
         * 参数:查询条件 返回:查询结果(若干个,使用集合类型<>)
         */
        public ArrayList<Student> query(String id, String name, String gender) throws Exception {
            ArrayList<Student> result = new ArrayList<Student>();
        
            DbTools db=new DbTools();
            Connection con=db.getCon();
            // 3.创建语句
            String sql = " select * from tstudent where 1=1 ";
            if(id!=null && id.length()>0)
                sql=sql+" and id=? ";
            if(name!=null && name.length()>0)
                sql=sql+" and name = ?";
            if(gender!=null && gender.length()>0)
                sql=sql+" and gender=?";
            System.out.println(sql);
            
            PreparedStatement pst = con.prepareStatement(sql);
            // 4.执行语句(语句中如果有参数,则需要先对参数赋值)
            ArrayList<String> params=new ArrayList<String>();
            if(id!=null && id.length()>0)
                params.add(id);
            if(name!=null && name.length()>0)
                params.add(name);
            if(gender!=null && gender.length()>0)
                params.add(gender);
            for(int i=0;i<params.size();i++){
                pst.setString(i+1, params.get(i));
            }
            
            
            ResultSet rs = pst.executeQuery();  //执行查询
            while(rs.next()){
                Student student=new Student();
                student.setId(rs.getString("id"));
                student.setName(rs.getString("name"));
                student.setGender(rs.getString("gender"));
                student.setBirth(rs.getString("birth"));
                student.setFavorite(rs.getString("favorite"));
                result.add(student);
            }
            
            rs.close();
            pst.close();
            db.close();
            return result;
    
        }

    提示

    可保存这此Java项目,下次连接可直接导入,只需修改部分信息。

  • 相关阅读:
    配置nova服务使用ceph作为后端存储
    配置glance使用ceph作为后端存储
    配置nova-compute在不同的hypervisors上使用不同的存储后端
    配置cinder-backup服务使用ceph作为后端存储
    配置cinder-volume服务使用ceph作为后端存储
    安装cinder
    利用ceph-deploy安装ceph
    安装neutron
    安装nova
    安装glance
  • 原文地址:https://www.cnblogs.com/blknemo/p/10784948.html
Copyright © 2011-2022 走看看