黑马程序员技术交流社区

标题: 【路人丶】JDBC [打印本页]

作者: 路人丶    时间: 2017-12-28 21:48
标题: 【路人丶】JDBC
今天数据库的第二天学习,讲了SQL查询的排序,分组,函数,又学习了JDBC,java连接数据库,用java代码操作数据库,不得不吐槽一句作业做着实在是太打脑壳了,程序员最多的果然是ctrl+c,ctrl+v;
高级查询
                -- 排序  (desc 降序 asc 升序(默认))
                SELECT * FROM zhangwu ORDER BY zmoney DESC;
                -- by 后面跟两个,次级排序
                SELECT id,zmoney FROM zhangwu ORDER BY zmoney,id DESC;

                -- 聚合函数 count sum avg max min
                SELECT COUNT(*) FROM zhangwu;
                SELECT SUM(zmoney) FROM zhangwu;
                SELECT AVG(zmoney) FROM zhangwu;

                -- 分组查询
                -- 按zname分组计算总额
                SELECT SUM(zmoney),zname FROM zhangwu GROUP BY zname;
                -- 查询所有不同支出分别的总额
                SELECT SUM(zmoney),zname FROM zhangwu WHERE zname LIKE '%支出%' GROUP BY zname;
                -- 显示上面 总额大于800的
                SELECT SUM(zmoney) AS 总额,zname FROM zhangwu WHERE zname LIKE '%支出%' GROUP BY zname
                HAVING 总额>800;
                -- 上面升序
                SELECT SUM(zmoney) AS 总额,zname FROM zhangwu WHERE zname LIKE '%支出%' GROUP BY zname
                HAVING 总额>800 ORDER BY 总额 ASC;
三、JDBC
        JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,
                可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
                JDBC工具类
/**
*
* @author Administrator 定义工具类,获取数据库连接 获取连接方式采用读取配置文件方式,读取的是bin目录下的
*         读取获取一次,static
*/
public class JDBCUtils {
        private static String driver;
        private static String url;
        private static String user;
        private static String password;
        private static Connection con;

        static {
                try {
                        // 读取配置
                        readConfig();
                        // 加载驱动
                        Class.forName(driver);
                        // 获取数据库连接
                        con = DriverManager.getConnection(url, user, password);
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }

        private JDBCUtils() {
        }

        /**
         * 获取数据库连接
         *
         * @return Connection对象
         * @throws Exception
         */
        public static Connection getConnection() throws Exception {
                return con;
        }

        /**
         * 关闭资源
         *
         * @param con
         *            数据库连接
         * @param st
         *            执行者平台
         * @param rs
         *            结果集
         */
        public static void colse(Connection con, Statement st, ResultSet rs) {
                if (con != null) {
                        try {
                                con.close();
                        } catch (SQLException se) {
                        }
                }
                if (st != null) {
                        try {
                                st.close();
                        } catch (SQLException se) {
                        }
                }
                if (rs != null) {
                        try {
                                rs.close();
                        } catch (SQLException se) {
                        }
                }
        }

        /**
         * 关闭资源
         *
         * @param con
         *            数据库连接
         * @param st
         *            执行者平台
         */
        public static void colse(Connection con, Statement st) {
                if (con != null) {
                        try {
                                con.close();
                        } catch (SQLException se) {
                        }
                }
                if (st != null) {
                        try {
                                st.close();
                        } catch (SQLException se) {
                        }
                }
        }

        private static void readConfig() throws IOException {
                // 类加载获取配置文件的输入流
                InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("database.properties");
                Properties pro = new Properties();
                // 读取配置文件
                pro.load(is);
                // 获取参数
                driver = pro.getProperty("driver");
                url = pro.getProperty("url");
                user = pro.getProperty("user");
                password = pro.getProperty("password");
        }


作者: 陈文老师    时间: 2017-12-29 10:03

作者: 渝小妹    时间: 2017-12-29 10:29

总结很不错哟~继续加油
作者: 花开的季节    时间: 2017-12-29 10:57


总结很不错哟~继续加油
作者: 没关系    时间: 2017-12-29 11:01
温故而知新    加油哦   继续努力
作者: 1414225997    时间: 2017-12-29 14:19
保持,继续努力
作者: xiongliu    时间: 2018-1-2 10:19
新年快乐~~~~·
作者: 渝小妹    时间: 2018-1-2 10:23
成功不是“一朝一夕”的事,需要的是“一如既往”的坚持,“一成不变”的乐观,“一门心思”的奋斗,“一鸣惊人”的能力,“一丝不苟”的态度,只有这样,2018你才能取得“一飞冲天”的骄人成绩。
作者: 狸大大    时间: 2018-1-2 10:47
新年快乐    继续加油  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2