大数据——使用JDBC操作数据库和Tomcat的配置

JDBC

Java数据库连接技术(Java DataBase Connectivity),能实现Java程序对各种数据库的访
问
由一组使用Java语言编写的类和接口(JDBC API)组成,它们位于java.sql以及javax.sql中

JDBC访问数据库的步骤

(1)Class.forName()加载驱动

(2)DriverManager获取Connection连接

(3)创建Statement执行SQL语句

(4)返回ResultSet查询结果

(5)释放资源

示例一:查询数据库MySchool中的student信息,添加两条学生信息,并重新创建一个数据库。
代码展示:

public class student {
    private String StudentNo;
    private String StudentName;
    private String Sex;
    private String GradeID;
    private String Phone;
    private String Address;
    private String Emaill;
    private String IdentityCard;
    public String getStudentNo() {
        return StudentNo;
    }

    public void setStudentNo(String studentNo) {
        StudentNo = studentNo;
    }

    public String getStudentName() {
        return StudentName;
    }

    public void setStudentName(String studentName) {
        StudentName = studentName;
    }

    public String getSex() {
        return Sex;
    }

    public void setSex(String sex) {
        Sex = sex;
    }

    public String getGradeID() {
        return GradeID;
    }

    public void setGradeID(String gradeID) {
        GradeID = gradeID;
    }

    public String getPhone() {
        return Phone;
    }

    public void setPhone(String phone) {
        Phone = phone;
    }

    public String getAddress() {
        return Address;
    }

    public void setAddress(String address) {
        Address = address;
    }

    public String getEmaill() {
        return Emaill;
    }

    public void setEmaill(String emaill) {
        Emaill = emaill;
    }

    public String getIdentityCard() {
        return IdentityCard;
    }

    public void setIdentityCard(String identityCard) {
        IdentityCard = identityCard;
    }

    @Override
    public String toString() {
        return "student{" +
                "StudentNo='" + StudentNo + '\'' +
                ", StudentName='" + StudentName + '\'' +
                ", Sex='" + Sex + '\'' +
                ", GradeID='" + GradeID + '\'' +
                ", Phone='" + Phone + '\'' +
                ", Address='" + Address + '\'' +
                ", Emaill='" + Emaill + '\'' +
                ", IdentityCard='" + IdentityCard + '\'' +
                '}';
    }
}
import java.sql.*;

public class BaseDao {
    public Connection getCon()throws Exception{
        //加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        String url="jdbc:mysql://192.168.136.30:3306/MySchool";
        //驱动管理器来获取连接
        Connection conn = DriverManager.getConnection(url, "root", "ok");
        return conn;
    }
//    public void showTables() throws Exception {
//        //获取连接
//        Connection conn = getCon();
//        //通过连接获取Statement对象
//        Statement stmt = conn.createStatement();
//        String sql = "show tables";//定义好sql语句
//        ResultSet rs = stmt.executeQuery(sql);//获取查询语句的结果集
//        while(rs.next()){//对结果集遍历
//            System.out.println(rs.getString("Tables_in_MySchool"));
//        }
//    }
    public ResultSet query(String sql,int id,String name)throws Exception{
        //获取连接
        Connection conn = getCon();
        //通过连接获取Statement对象
//        Statement stmt = conn.createStatement();
//        ResultSet rs = stmt.executeQuery(sql);
        PreparedStatement pst = conn.prepareStatement(sql);
        pst.setObject(1,id);
        pst.setObject(2,name);
        ResultSet rs = pst.executeQuery();
        return rs;
    }
    public int update(String sql)throws Exception{
        //获取连接
        Connection con = getCon();
        //通过连接获取Statement对象
        Statement stmt = con.createStatement();
        int num = stmt.executeUpdate(sql);
        return num;
    }
    public void close(Connection conn,Statement stmt,ResultSet rs) throws SQLException {
        if (conn != null) {
            conn.close();
        }
        if (stmt != null) {
            stmt.close();
        }
        if (rs != null) {
            rs.close();
        }
    }
}
import cn.kgc.kb09.entity.student;
import org.junit.Test;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;

import static org.junit.Assert.*;

public class BaseDaoTest {

    @Test
    public void getCon() throws Exception {
        BaseDao dao = new BaseDao();
        Connection conn = dao.getCon();
        System.out.println(conn);
        dao.close(conn,null,null);
    }

//    @Test
//    public void showTables() throws Exception {
//        BaseDao dao = new BaseDao();
//        dao.showTables();
//    }
     @Test
    public void query() throws Exception {
         BaseDao dao = new BaseDao();
         String sql = "select * from student where StudentNo=? or StudentName like ?";
         ResultSet rs = dao.query(sql,1014,"李%");
         ArrayList<student> stuList = new ArrayList<>();
         while (rs.next()) {
             student s=new student();
             s.setStudentNo(rs.getString("StudentNo"));
             s.setStudentName(rs.getString("StudentName"));
             s.setPhone(rs.getString("Phone"));
             s.setSex(rs.getString("Sex"));
             s.setGradeID(rs.getString("GradeID"));
             s.setAddress(rs.getString("Address"));
             s.setEmaill(rs.getString("Emaill"));
             s.setIdentityCard(rs.getString("IDentityCard"));
             stuList.add(s);
         }
         for (student student : stuList) {
             System.out.println(student);
         }
         dao.close(null,null,rs);
     }
     @Test
    public void update() throws Exception {
         BaseDao dao = new BaseDao();
         String sql = "insert into student(StudentNo,StudentName,Sex,Phone,Address)" +
                 "values(1037,'三灯','男','788441','北京'),(1060,'四灯','女','47774444','日本')";
         int num = dao.update(sql);
         System.out.println(num > 0 ? "插入成功" : "插入失败");
     }
     //使用jdbc创建一个库,切换到这个库
    @Test
    public void testDo()throws Exception{
        BaseDao dao = new BaseDao();
        Connection con = dao.getCon();
        Statement stmt = con.createStatement();
        String creatDatabase = "create database if not exists userControl";
        stmt.execute(creatDatabase);
        String changeDatabase = "use userControl";
        stmt.execute(changeDatabase);
        String createTable = "create table if not exists " +
                "user_info(uid int(11) auto_increment primary key," +
                "uname varchar(30),password varchar(30))";
        stmt.execute(createTable);
    }
}

结果展示:
在这里插入图片描述

SQL注入(一种安全问题):
解决方法:不使用statement而使用preparedStatement

在进行JDBC连接数据库之前还需导入jar包和Tomcat的安装
在这里插入图片描述

Tomcat

开源小型web服务器 ,完全免费,主要用于中小型web项目,只支持Servlet和JSP 等少
量javaee规范(就是JavaWeb编程接口)

Java Web

说到Tomcat,就不得不提到Java Web。
Java web,是用java技术来解决相关web互联网领域的技术的总称。web包括:web服务器和web客户端两部分。
java在最早web客户端的应用有java applet程序,不过这种技术在很久之前就已经被淘汰了。java在服务器端的应用非常丰富,
比如Servlet,jsp和第三方框架等等。java技术对web领域的发展注入了强大的动力
简单的说,就是使用java语言实现浏览器可以访问的程序内容。称之为Java Web。
B/S架构:Browser/Server
C/S架构:Client/Server

web资源分类

所谓web资源即放在Internet网上供外界访问的文件或程序,又根据它们呈现的效果及原理不同,将它们划分为静态资源和动态资源。
静态web资源:固定不变数据文件(静态网页 HTML、CSS文件、文本、音频、视频)
静态web技术:HTML+CSS+JavaScript

动态web资源:一段服务程序,运行后,生成的数据文件
动态web技术:servlet,jsp,php, .net ,ruby、python等等

常见的web服务器

Tomcat:由Apache组织提供的一种Web服务器,提供对jsp和Servlet的支持。它是一种轻量级的javaWeb容器(服务器),也是当前应用最广的JavaWeb服务器(免费)。
Jboss:是一个遵从JavaEE规范的、开放源代码的、纯Java的EJB服务器,它支持所有的JavaEE规范(免费)。
GlassFish: 由Oracle公司开发的一款JavaWeb服务器,是一款强健的商业服务器,达到产品级质量(应用很少,收费)。
Resin:是CAUCHO公司的产品,是一个非常流行的应用服务器,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言开发(收费,应用比较多)。
WebLogic:是Oracle公司的产品,是目前应用最广泛的Web服务器,支持JavaEE规范,而且不断的完善以适应新的开发要求,适合大型项目(收费,用的不多,适合大公司)。

Tomcat下载及环境配置

下载链接:http://tomcat.apache.org
下载后的包:apache-tomcat-8.5.45.zip
在这里插入图片描述
解压缩后的包:apache-tomcat-8.5.45
在这里插入图片描述
Tomcat安装目录介绍:
在这里插入图片描述

bin:可以执行文件。
conf:tomcat服务器的配置文件
lib:tomcat启动后需要依赖的jar包
logs:tomcat工作之后的日志文件
webapps:是tomcat布暑工程的目录。
work:jsp文件在被翻译之后,保存在当前这个目录下,session对象被序列化之后保存的位置

配置环境:
(1)右击我的电脑,打开属性
(2)点击高级系统设置
(3)点击环境变量
(4)点击下面的系统变量新建
(5)变量名:CATALINA_HOME
(6)变量值就是解压路径名:D:\1\apache-tomcat-8.5.45
在这里插入图片描述

(7)点击三次确定,环境配置就完成了。

启动Tomcat:
进入Tomcat目录下的bin文件
找到startup.bat文件,双击打开
如果Tomcat控制台出现中文乱码问题,解决办法:

1.打开你安装Tomcat的所在目录
2. 打开后选择conf目录。
将里面的logging.properties文件用编辑器打开,
打开后在47行找到:
java.util.logging.ConsoleHandler.encoding = UTF-8
注释掉,修改为:
java.util.logging.ConsoleHandler.encoding = GBK;
重新启动start.bat就可以了。

出现以下界面就代表你的Tomcat启动成功了:
在这里插入图片描述
测试Tomcat是否启动成功:
在浏览器地址栏输入http://locathost:8080/
若出现下图界面,则启动成功:
在这里插入图片描述
到这一步的Tomcat已成功安装完成了。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值