发表于: 2017-09-08 00:05:06
2 821
今天完成的事情:学会使用JDBC连接数据库。JDBC API是一个java API,可以访问任何类型表列数据,我主要是用来和mysql数据库进行连接;
1.之前已经学习过mysql的建库以及建表和输入数据,所以数据库系统的配置环境已经完成,主要是创建MYSQL_HOME变量和Path输入"%MYSQL_HOME%\bin"。
2.由于我一开始并不是很了解jdbc的使用,所以我就从百度找到了大概的模板,我打算先靠模板实现连接,通过了解流程以及代码的编写从而来连接到已经有的报名表数据库"student";
3.jdbc主要有6个步骤:导入JDBC需要的包;注册JDBC的驱动程序;连接数据库;查询;提取数据;清理环境。当然这些都可以通过代码实现。
4.第一次使用,并不会代码,所以我先导入了一个模板在jdbc文件夹下创建一个
FirstExample.java,并且导入了模板,现在我可以看懂代码的主要语句,
在此处导入jdbc需要的包;
此处driver为驱动包里的一个主类,路径就是com\mysql\cj\jdbc;url为链接地址,mysql主机用户名为localhost,数据库名称为emp,如果需要链接不同的DB则可以在这里更改,比如连接一个名为student的DB则将emp改为student;
此处为mysql服务启动账号和密码;
连接数据库,直接引用;
读取名为"Employees"的表结构和其中的数据并输出;
输出指令结果如上;
最后执行清理环境。
5,由于以上代码是网上的模板,所以我打算连接我之前简历的数据库,名字为student,其中的表名也为"student"。
建立一个名为"Student.java"的文件,然后输入模板,做出以下几点改动:
DB的名为"student";
连接名为"student"的表;
搜索其中2个属性id和name;
输出结果如上。
明天计划的事情:经过群里师兄提醒,尝试用编译器IDEA来完成上面的动作,命令符不太方便。顺便学习Mybatis怎么连接数据库。
遇到的问题:今天操作时遇到一个错误,看错误提示显示的是时区错误,于是我百度查找问题,确实是有这样的问题,主要原因是JDBC误认为会话时区在CST-5,所以会把Timestamp+0转为cst-5的String-5,而mysql则认为时区和系统时区一样为cst+8,级啊ingString-5转为Timestamp-13,相差13小时。解决办法是讲mysql下全球时区和本地会话时区都设定为"+8:00"即可。
收获:学到了怎么用jdbc链接数据库并且进一步巩固了mysql的使用。
评论