zoukankan      html  css  js  c++  java
  • 数据库

    -- 建立数据库
    CREATE DATABASE mydbtest;
    -- 删除数据库
    DROP DATABASE mydbtest;
    -- 建立表格
    CREATE TABLE t_product(
    id INT PRIMARY KEY AUTO_INCREMENT,
    pname VARCHAR(20),
    price INT,
    createAddress VARCHAR(20),
    createDate DATE
    );
    -- 插入数据
    INSERT INTO t_product(pname,price,createAddress,createDate)
    VALUES('电视机',1500,'四川','2017-03-14');
    -- 查询全部
    SELECT*FROM t_product;
    -- 查询列为pname
    SELECT pname FROM t_product;
    -- 查询id为1
    SELECT*FROM t_product WHERE id=1;
    -- 模糊查询pname带有机的内容
    SELECT*FROM t_product WHERE pname LIKE '%机%';
    -- 删除id为1的行
    DELETE FROM t_product WHERE id=1;
    -- 修改id为1的价格
    UPDATE t_product SET price='2000' WHERE id=1;

    以上是mysql数据库的一些基本操作代码,熟练使用这些代码可以筛选出数据库表格中自己想要得数据;

    mysql中的聚合函数:COUNT(*)  COUNT(列名)   统计行数,前者包括空属性,后者只统计有内容的行数;

              SUM(列名)          求和 

              AVG(列名)        求平均值

    MAX最大值 MIN最小值

    SQL的执行顺序: 1.FROM 2.WHERE 3.GROUP BY 4.SELECT  5.HAVING 6. ORDER BY

    如果返回一个值,外查询可以使用 = > <

    如果返回多个值,使用in 或者 not in;

    MYSQL与Java的链接:

    试着将一个用户(用户id,用户名,用户密码,用户住址)的数据库表格与java链接,完成对象数据和关系数据的转换

    首先建立个用户类

    package project.hw0511.bean;
    
    import java.sql.Date;
    
    public class adminBean {
        /**用户id*/
        private int id;
        /**用户名*/
        private String accord;
        /**用户密码*/
        private String password;
        /**生日*/
        private Date birthday;
    
        public adminBean() {
            super();
            // TODO Auto-generated constructor stub
        }
    
        public adminBean(String accord, String password, Date birthday) {
            super();
            this.accord = accord;
            this.password = password;
            this.birthday = birthday;
        }
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public String getAccord() {
            return accord;
        }
    
        public void setAccord(String accord) {
            this.accord = accord;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    
        public Date getBirthday() {
            return birthday;
        }
    
        public void setBirthday(Date birthday) {
            this.birthday = birthday;
        }
    
        @Override
        public String toString() {
            return "adminBean [id=" + id + ", accord=" + accord + ", password=" + password + ", birthday=" + birthday + "]
    ";
        }
    
    }

    第二步:建立一个对数据库表格操作的接口

    package project.hw0511.Iadmin;
    
    import java.sql.Date;
    import java.util.List;
    
    import project.hw0511.bean.adminBean;
    
    public interface Iadmin {
        /**
         * 添加用户
         * @param accord      用户名
         * @param pwd        用户密码
         * @param birthday    生日
         */
        public void add(adminBean bean);
        /**
         * 按用户id删除
         * @param id 用户id
         */
        public void del(int id);
        /**
         * 按用户id修改
         * @param id     用户id
         * @return        用户密码
         */
        public void updata(int id,String pwd);
        /**
         * 按用户id查找
         * @param id    用户id
         */
        public adminBean findById(int id);
        /**
         * 查询所有用户
         */
        public List<adminBean> findAll();
        /**
         * 按用户名模糊查询
         * @param accord 用户名
         */
        public List<adminBean> findByAccord(String accord);
        /**
         * 按用户生日查询
         * @param birthday 生日
         */
        public List<adminBean> findByBirthday(Date startDate,Date endDate);
        
        public boolean login(String accord,String pwd);
    
    
    }

    最后:建立操作的实体类链接接口,完成对数据库具体操作

    package project.hw0511.adminImpl;
    
    import java.sql.Connection;
    import java.sql.Date;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import project.hw0511.Iadmin.Iadmin;
    import project.hw0511.bean.adminBean;
    
    public class adminImpl implements Iadmin {
    
        public static void main(String[] args) {
            adminImpl dao = new adminImpl();
            // dao.add(new adminBean("莱昂纳德", "666666", Date.valueOf("1999-12-12")));
            // dao.del(1);
            // dao.updata(1, "900611");
            // adminBean a = dao.findById(1);
            // System.out.println(a);
            // List<adminBean> list=dao.findAll();
            // System.out.println(list);
            // List<adminBean> list=dao.findByAccord("吉");
            // System.out.println(list);
            // List<adminBean> list=dao.findByBirthday(Date.valueOf("1990-01-01"),
            // Date.valueOf("2007-12-31"));
            // System.out.println(list);
            boolean log = dao.login("波波维奇", "222222");
            System.out.println(log);
        }
    
        @Override
        public void add(adminBean bean) {
            Connection con = null;
            PreparedStatement ps = null;
            try {
                Class.forName("org.gjt.mm.mysql.Driver");
                con = DriverManager.getConnection("jdbc:mysql://localhost:3306/admin?characterEncoding=utf-8", "root",
                        "zxiaoyuer");
                ps = con.prepareStatement("insert into t_user(u_accord,u_password,u_birthday)values(?,?,?)");
                ps.setString(1, bean.getAccord());
                ps.setString(2, bean.getPassword());
                ps.setDate(3, bean.getBirthday());
                ps.executeUpdate();
            } catch (Exception e) {
    
                e.printStackTrace();
            } finally {
                try {
                    ps.close();
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
        }
    
        @Override
        public void del(int id) {
            Connection con = null;
            PreparedStatement ps = null;
    
            try {
                Class.forName("org.gjt.mm.mysql.Driver");
                con = DriverManager.getConnection("jdbc:mysql://localhost:3306/admin?characterEncoding=utf-8", "root",
                        "zxiaoyuer");
                ps = con.prepareStatement("DELETE FROM t_user WHERE id=?");
                ps.setInt(1, id);
                ps.executeUpdate();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
                    ps.close();
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
        }
    
        @Override
        public void updata(int id, String pwd) {
            Connection con = null;
            PreparedStatement ps = null;
    
            try {
                Class.forName("org.gjt.mm.mysql.Driver");
                con = DriverManager.getConnection("jdbc:mysql://localhost:3306/admin?characterEncoding=utf-8", "root",
                        "zxiaoyuer");
                ps = con.prepareStatement("UPDATE t_user SET u_password=? WHERE id=?;");
                ps.setString(1, pwd);
                ps.setInt(2, id);
                ps.executeUpdate();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
                    ps.close();
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
        }
    
        @Override
        public adminBean findById(int id) {
            adminBean bean = new adminBean();
            Connection con = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
            try {
                Class.forName("org.gjt.mm.mysql.Driver");
                con = DriverManager.getConnection("jdbc:mysql://localhost:3306/admin?characterEncoding=utf-8", "root",
                        "zxiaoyuer");
                ps = con.prepareStatement("SELECT*FROM t_user WHERE id=?");
                ps.setInt(1, id);
                rs = ps.executeQuery();
                if (rs.next()) {
                    bean.setId(rs.getInt("id"));
                    bean.setAccord(rs.getString("u_accord"));
                    bean.setPassword(rs.getString("u_password"));
                    bean.setBirthday(rs.getDate("u_birthday"));
    
                }
            } catch (Exception e) {
    
                e.printStackTrace();
            } finally {
                try {
                    rs.close();
                    ps.close();
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
    
            }
            return bean;
    
        }
    
        @Override
        public List<adminBean> findAll() {
            List<adminBean> list = new ArrayList<>();
            Connection con = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
            try {
                Class.forName("org.gjt.mm.mysql.Driver");
                con = DriverManager.getConnection("jdbc:mysql://localhost:3306/admin?characterEncoding=utf-8", "root",
                        "zxiaoyuer");
                ps = con.prepareStatement("SELECT*FROM t_user");
                rs = ps.executeQuery();
    
                while (rs.next()) {
                    adminBean bean = new adminBean();
                    bean.setId(rs.getInt("id"));
                    bean.setAccord(rs.getString("u_accord"));
                    bean.setPassword(rs.getString("u_password"));
                    bean.setBirthday(rs.getDate("u_birthday"));
                    list.add(bean);
                }
    
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
                    rs.close();
                    ps.close();
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
            return list;
    
        }
    
        @Override
        public List<adminBean> findByAccord(String accord) {
            List<adminBean> list = new ArrayList<>();
            Connection con = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
    
            try {
                Class.forName("org.gjt.mm.mysql.Driver");
                con = DriverManager.getConnection("jdbc:mysql://localhost:3306/admin?characterEncoding=utf-8", "root",
                        "zxiaoyuer");
                ps = con.prepareStatement("SELECT*FROM t_user WHERE u_accord LIKE ?");
                ps.setString(1, "%" + accord + "%");
                rs = ps.executeQuery();
                while (rs.next()) {
                    adminBean bean = new adminBean();
                    bean.setId(rs.getInt("id"));
                    bean.setAccord(rs.getString("u_accord"));
                    bean.setPassword(rs.getString("u_password"));
                    bean.setBirthday(rs.getDate("u_birthday"));
                    list.add(bean);
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
                    rs.close();
                    ps.close();
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            return list;
    
        }
    
        @Override
        public List<adminBean> findByBirthday(Date startDate, Date endDate) {
            List<adminBean> list = new ArrayList<>();
            Connection con = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
    
            try {
                Class.forName("org.gjt.mm.mysql.Driver");
                con = DriverManager.getConnection("jdbc:mysql://localhost:3306/admin?characterEncoding=utf-8", "root",
                        "zxiaoyuer");
                ps = con.prepareStatement("SELECT*FROM t_user WHERE u_birthday>=? AND u_birthday<=?");
                ps.setDate(1, startDate);
                ps.setDate(2, endDate);
                rs = ps.executeQuery();
                while (rs.next()) {
                    adminBean bean = new adminBean();
                    bean.setId(rs.getInt("id"));
                    bean.setAccord(rs.getString("u_accord"));
                    bean.setPassword(rs.getString("u_password"));
                    bean.setBirthday(rs.getDate("u_birthday"));
                    list.add(bean);
                }
    
            } catch (Exception e) {
            
                e.printStackTrace();
            } finally {
                try {
                    rs.close();
                    ps.close();
                    con.close();
                } catch (SQLException e) {
                    
                    e.printStackTrace();
                }
            }
            return list;
    
        }
    
        @Override
        public boolean login(String accord, String pwd) {
            Connection con = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
            try {
                Class.forName("org.gjt.mm.mysql.Driver");
                con = DriverManager.getConnection("jdbc:mysql://localhost:3306/admin?characterEncoding=utf-8", "root",
                        "zxiaoyuer");
                ps = con.prepareStatement("SELECT u_password FROM t_user WHERE u_accord=?");
                ps.setString(1, accord);
                rs = ps.executeQuery();
                if (rs.next()) {
                    if (rs.getString("u_password").equals(pwd)) {
                        return true;
                    }
                }
            } catch (Exception e) {
    
                e.printStackTrace();
            } finally {
                try {
                    rs.close();
                    ps.close();
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            return false;
        }
    
    }

    需要注意的是:  

    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/admin?characterEncoding=utf-8", "root",
                        "zxiaoyuer");
    链接建立是,地址是否正确 ps = con.prepareStatement("SELECT u_password FROM t_user WHERE u_accord=?");

     ps中的语句可以看成要在数据库中执行语句,建议在数据库中验证语句可用性,直接复制即可

    ResultSet:结果集,只有在需要java接受或者显示实,需要结果集接受,和传递
  • 相关阅读:
    centos7 hpc高性能计算集群配置(无密码访问、nfs文件共享)
    dbGrid、cxGrid下拉列表做单、多列更新的三种实现方式
    delphi指针简单入门
    Delphi USB摄像头
    Delphi USB摄像头
    DelphiXE环境认知(第一章 Project Options)
    程序缩小到托盘后系统就无法关机(解决方案)
    TNotifyEvent
    关于Delphi在定义了函数进行调用时显示undeclared identifier的问题
    listview增加一行后,显示最后一条数据,进度条显示最底
  • 原文地址:https://www.cnblogs.com/zxiaoyuer/p/6853772.html
Copyright © 2011-2022 走看看