应该是用jdbc去连接吧!写个dao;然后去连接数据库\x0d\x0a代码如下:\x0d\x0apublic Connection getConnection() {\x0d\x0a try {\x0d\x0a Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");\x0d\x0a \x0d\x0a return DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=test","sa","");\x0d\x0a } catch (ClassNotFoundException e) {\x0d\x0a \x0d\x0a throw new DaoException("加载驱动程序失败",e); \x0d\x0a } catch (SQLException e) {\x0d\x0a throw new DaoException("数据库连接失败",e); \x0d\x0a }\x0d\x0a \x0d\x0a }\x0d\x0a\x0d\x0apublic void close(ResultSet rs, Statement stmt, Connection conn) {\x0d\x0a if(rs != null){\x0d\x0a try {\x0d\x0a rs.close();\x0d\x0a } catch (SQLException e) {\x0d\x0a e.printStackTrace();\x0d\x0a }\x0d\x0a }\x0d\x0a if(stmt != null){\x0d\x0a try {\x0d\x0a stmt.close();\x0d\x0a } catch (SQLException e) {\x0d\x0a e.printStackTrace();\x0d\x0a }\x0d\x0a }\x0d\x0a \x0d\x0a if(conn != null){\x0d\x0a try {\x0d\x0a conn.close();\x0d\x0a } catch (SQLException e) {\x0d\x0a e.printStackTrace();\x0d\x0a }\x0d\x0a }\x0d\x0a\x0d\x0a }\x0d\x0a\x0d\x0a连接了数据库,就能写操作类了。
创新互联服务项目包括樊城网站建设、樊城网站制作、樊城网页制作以及樊城网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,樊城网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到樊城省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
本期我们用 MySQL 提供的 DBUG 工具来研究 MySQL 的 SQL 处理流程。
起手先造个实例
这里得稍微改一下实例的启动文件 start,将 CUSTOM_MYSQLD 改为 mysqld-debug:
重启一下实例,加上 debug 参数:
我们来做一两个实验,说明 DBUG 包的作用:
先设置一个简单的调试规则,我们设置了两个调试选项:
d:开启各个调试点的输出
O,/tmp/mysqld.trace:将调试结果输出到指定文件
请点击输入图片描述
然后我们创建了一张表,来看一下调试的输出结果:
请点击输入图片描述
可以看到 create table 的过程中,MySQL 的一些细节操作,比如分配内存 alloc_root 等
这样看还不够直观,我们增加一些信息:
请点击输入图片描述
来看看效果:
请点击输入图片描述
可以看到输出变成了调用树的形式,现在就可以分辨出 alloc_root 分配的内存,是为了解析 SQL 时用的(mysql_parse)
我们再增加一些有用的信息:
请点击输入图片描述
可以看到结果中增加了文件名和行号:
请点击输入图片描述
现在我们可以在输出中找一下统计表相关的信息:
请点击输入图片描述
可以看到 MySQL 在这里非常机智,直接执行了一个内置的存储过程来更新统计表。
沿着 que_eval_sql,可以找到其他类似的统计表,比如下面这些:
请点击输入图片描述
请点击输入图片描述
本次实验中,我们借助了 MySQL 的 DBUG 包,来让 MySQL 将处理过程暴露出来。MySQL 中类似的技术还有不少,比如 performance_schema,OPTIMIZER_TRACE 等等。
这些技术将 MySQL 的不同方向的信息暴露出来,方便大家理解其中机制。
首先在运行输入 cmd
这样便打开了命令提示符,如下:
打开了之后在此输入 mysql -h你的IP或者花生壳的账户 -uroot -p该数据库的密码
例如:mysql -h30.158.59.78 -uroot -pabc123
mysql -htom.xicp.net -uroot -pabc123