实习第一天

本文详细介绍了实习第一天的开发环境搭建过程,包括JavaJDK1.8、IDEA、Tomcat、Maven、MySQL、SQLyog和Notepad++等工具的安装配置。并通过IDEA集成开发环境,演示了JDBC数据库连接的实现,包括创建数据库、表、插入测试数据,以及使用Java代码查询数据库。

实习第一天:开发环境的安装及JDBC的使用

开发环境及工具的安装

任何开发活动的进行,都需要开发工具的支持。在本次实习的过程中,需要用到Java及数据库相关工具的使用。故需要安装相关的开发环境及工具,许安装软件如下:Java JDK 1.8、IDEA集成开发环境、Tomcat、Maven、MySQL和图形化数据库操作工具SQLyog、Notepad++,有些工具的安装软件服务器设在防火墙外,故可能需要科学上网才能顺利安装。

Java JDK 1.8的安装

在甲骨文公司的官网上下载Java SE 1.8,根据对应的系统版本下载,将安装程序下载后,运行,一路Next,Java环境即可安装好,但此时未配置环境变量,需手动进行环境变量的配置。右键我的电脑-属性-高级系统属性-环境变量-系统变量。新建一个环境变量JAVA_HOME,路径填写Java安装的根目录。编辑Path,添加%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin,确定保存。

在这里插入图片描述

在这里插入图片描述
运行java -version,如配置成功,则返回版本信息:
在这里插入图片描述

IEDA的安装

点击ideaIU-2018.2.2启动安装,选择合适的系统版本后安装,因程序较大,若需加快启动速度,可将其安装在固态硬盘中,安装完成后如图:
在这里插入图片描述

Tomcat及Maven的安装

Tomcat及Maven都是Apache软件基金会的产品,二者的安装包都可在官方网站进行下载。

首先安装Tomcat,运行安装程序,同意安装后会自动启动服务,程序会在本地监听8080端口,测试安装是否成功,可在浏览器输入127.0.0.1:8080,出现如下界面,安装成功。
在这里插入图片描述
Maven安装方式和Java环境很像,将文件夹解压到合适位置,添加系统变量,如图所示:
在这里插入图片描述
在这里插入图片描述
保存后在控制台输入mvn -v,若出现版本信息,则配置成功。在这里插入图片描述

MySQL及SQLyog的安装

运行MySQL安装程序,选择完全安装后,MySQL数据库会自动安装到电脑。安装完成后会启动数据库配置程序,选择第二个标准数据库,Next,选择安装的系统服务名称及是否开机自启,Next,选择root账户密码并将mysql命令加入到系统环境变量中,完成配置,程序会根据用户选择自动进行配置。
在这里插入图片描述
可在控制台程序测试mysql命令及是否安装成功:输入mysql -u root -p后输入自定义的root密码,进入数据库环境界面:
在这里插入图片描述
SQLyog的安装与其类似,在此不再赘述。

Notepad++的安装

运行npp.7.7.1.Installer安装程序,选择合适的语言及路径后,安装即可。
在这里插入图片描述

IDEA集成开发环境的使用及JDBC数据库的连接

使用SQL语言在数据库内创建一个新的数据库,并在数据库内建一张新表user,定义表包含Uno用户编号,Uname用户名及Upwd用户密码。向数据库内添加一些测试用例,如图。

在这里插入图片描述

点击桌面上的IntelliJ IDEA 2019.1.2 x64图标,启动IDEA,初次使用会执行默认配置,一路Next,直到出现:
在这里插入图片描述

点击第一个Create New Project创建新的Java项目,输入自定义的项目名称,完成创建
在这里插入图片描述右键src-New-Package,新建一个包。建好包后,右键该包-New-class创建一个新的class文件,进行Java语言代码的编写,但在要使用数据库前,需要点击更新一下当前程序,程序会自动下载MySQL的外部jar包。然后点击Files-Project Structure-Modules,点击右侧加号,添加外部数据库jar包,效果如图:
在这里插入图片描述
这样即可运行JDBC连接本机数据库,在代码编写段输入测试代码:

import java.sql.CallableStatement;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;         

import java.sql.SQLException;

import java.sql.Statement;

public class sql { //定义一个类

    public static void main(String[] args) { //主方法

        try {

            String driver = "com.mysql.jdbc.Driver";              //1.定义驱动程序名为driver内容为com.mysql.jdbc.Driver

            String url = "jdbc:mysql://localhost:3306/java?"      //2.定义url;jdbc是协议;mysql是子协议:表示数据库系统管理名称;localhost:3306是你数据库来源的地址和目标端口;java是我本人建的表位置所在处,你以你的为标准。

                    + "useUnicode=true&characterEncoding=UTF8"; //防止乱码;useUnicode=true表示使用Unicode字符集;characterEncoding=UTF8表示使用UTF-8来编辑的。

            String user = "root";                              //3.定义用户名,写你想要连接到的用户。

            String pass = "123456";                              //4.用户密码。

            String querySql = "select * from user";          //5.你想要查找的表名。

            Class.forName(driver);                              //6.注册驱动程序,用java.lang包下面的class类里面的Class.froName();方法 此处的driver就是1里面定义的driver,也可以  Class.forName("com.mysql.jdbc.Driver");

            Connection conn = DriverManager.getConnection(url, user, pass);//7.获取数据库连接,使用java.sql里面的DriverManager的getConnectin(String url , String username ,String password )来完成

            //括号里面的url,user,pass便是前面定义的2,3,4步骤内容;

            Statement stmt = conn.createStatement();   //8.构造一个statement对象来执行sql语句:主要有Statement,PreparedStatement,CallableStatement三种实例来实现

          ResultSet rs = stmt.executeQuery(querySql);//9.执行sql并返还结束 ;ResultSet executeQuery(String sqlString):用于返还一个结果集(ResultSet)对象。

            while (rs.next())
            {
                int Uno = rs.getInt("Uno");
                String Uname = rs.getString("Uname");
                String Upwd = rs.getString("Upwd");
                System.out.println("用户编号:\t" + Uno + "   用户名:\t" + Uname + "   用户密码:\t" + Upwd);
            }

            if (rs != null) {//11.关闭记录集

                try {

                    rs.close();

                } catch (SQLException e) {

                    e.printStackTrace();

                }

            }

            if (stmt != null) {//12.关闭声明的对象

                try {

                    stmt.close();

                } catch (SQLException e) {

                    e.printStackTrace();

                }

            }

            if (conn != null) {//13.关闭连接 (记住一定要先关闭前面的11.12.然后在关闭连接)

                try {

                    conn.close();

                } catch (SQLException e) {

                    e.printStackTrace();

                }

            }

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

}

点击运行后,信息框出现数据库查询结果:
在这里插入图片描述
表示数据库连接成功并成功查询了数据库内user表的数据。

附录:PreparedStatement

PreparedStatement接口继承自Statement接口,PreparedStatement比普通Statement对象使用起来更加灵活更有效率.并且比Statement更加安全,因为Statement有一个漏洞就是可以sql注入。

第一步:创建PreparedStatement对象 PreparedStatement pstm
同样是通过Connection的preparedStatement(sql)方法来创建对象,sql语句可具有一个或者多个输入参数,这些输入参数的值在SQL语句创建时未被指定,而是为每个输入参数保留一个问号’?'作为占位符;
示例: 下面的创建语句中就带有3个输入参数的SQL语句 pstm=con.prepareStatement(“update dog set
health=?,love=? where id =?”);

第二步:设置每个输入参数的值 通过调用set*()方法来完成(*代表数据类型) 代码: pstm.setInt(1,10);
pstm.setInt(2,90); pstm.setString(3,“d1”); (注意事项:占位符位置从1开始)

第三步:执行SQL语句 执行方法与Statement一样.比如:pstm.executeUpdate(); 优点:
创建PreparedStatement对象时会对SQL语句进行预编译,所以执行速度要快于Statement对象,因此,如果程序中存在需要多次执行SQL语句时,应该使用PreparedStatement对象来执行数据库操作,以提高效率。

参考文档:https://blog.youkuaiyun.com/miniduhua/article/details/52885482

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值