JCBC_基础数据库连接_2

提前准备好的数据库——表  student



准备好数据库的架包驱动,我用的是Tomcat服务器,放到Tomcat目录下的Lib文件包里面



import java.sql.*;

/**
 * 演示_2
 * 实现基础的JAVA语言链接数据库
* Created by Administrator on 2018/7/9 0009.
 *
 * PreparedStatement代替ResultSet  解决了sql拼接不安全的问题
*/
public class Demo_2 {
    public static void main(String[] args) {
        //java实现链接数据库需要6个步骤。
//与特定数据库的连接(会话)。
Connection connection=null;
        //用于执行静态SQL语句并返回其生成的结果的对象。
PreparedStatement preparedStatement=null;
        //表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。
ResultSet resultSet=null;

        try {
            //需要在异常块里
//步骤一:构建数据库驱动
Class.forName("com.mysql.jdbc.Driver");
            //步骤二:链接到指定的数据库
//jdbc:mysql://    特定语句
//localhost:3306/  localhost表示本机IP   3306是数据库的端口  (可以不写)
//复习_jdbc   表示所要链接的数据库名字
String url="jdbc:mysql://localhost:3306/2018-06-26";
            //所要链接的数据库的用户名
String user="root";
            //所要链接的数据库的密码
String password="cjk123456";
            //DriverManager.getConnection(数据库路径,用户名,密码)返回类型 Connection
connection= DriverManager.getConnection(url,user,password);
            //检测是否链接成功
if(connection!=null){
                System.out.println("链接成功!");
            }else{
                System.out.println("链接失败!");
            }
            //步骤三:创建SQL语句 用connection.方法返回类型 Statement
                //sql中的?表示占位符  需要填写的变量
String sql="select * from student where stuId=? and stuPwd=?";
            preparedStatement=connection.prepareStatement(sql);
                //setObject(表示第几个占位符,需要填写的变量)
preparedStatement.setObject(1,2018001);
            preparedStatement.setObject(2,123456);
            //步骤四:执行sql语句
//查询用executeQuery
            //增删改用executeUpdate
resultSet=preparedStatement.executeQuery();
            //步骤五:遍历结果集
while(resultSet.next()){
                //getObject当前行中指定列的值
System.out.print(resultSet.getObject("stuId")+"\t");
                System.out.print(resultSet.getObject("stuName")+"\t");
                System.out.print(resultSet.getObject("stuSex")+"\t");
                System.out.print(resultSet.getObject("stuBirthday")+"\t");
                System.out.print(resultSet.getObject("stuAddress")+"\t");
                System.out.println(resultSet.getObject("stuPwd")+"\t");
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            //步骤6:释放资源   重要步骤  不要忘记
//特定写法
//由内而外
if(resultSet!=null){
                try {
                    resultSet.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                resultSet=null;
            }

            if(preparedStatement!=null){
                try {
                    preparedStatement.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                preparedStatement=null;
            }

            if(connection!=null){
                try {
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                connection=null;
            }
        }

    }
}

结果:

原文地址:https://www.cnblogs.com/cjk-bk/p/9285901.html

时间: 2024-08-29 22:49:00

JCBC_基础数据库连接_2的相关文章

C#基础——数据库连接

SQL Server Express数据库连接字符串:  con.ConnectionString =@"Data Source=localhost\SQLEXPRESS;Initial Catalog=databasename;Integrated Security=false;uid=sa; pwd=password"; Initial Catalog:数据库名称. Integrated Security:false表示使用SQL Server身份认证(sa,password),t

PHP基础------数据库连接&&增删改

<?php header("Content-type:text/html;charset=utf-8"); /* * PHP操作Mysql * 一.常用函数 * * 1.mysql_connect("主机名","用户名","密码")建立MySql连接,返回一个资源类型 * 用法:$link = @mysql_connect("localhost","root","&quo

基础命令_2

1.Linux命令行组成 [[email protected] ~]# 当前用户名@主机名hostname 当前所在目录 2.Linux命令的结构 命令 空格 条件/参数 空格 对象/文件/目录 rm -f /tmp/oldboy.txt 3.Linux和Windows的文件目录对比 /笔记/day03/linux目录结构和windows对比.png 4.命令 4.1 mkdir 创建目录 <mkdir (选项)(参数)> mkdir命令用来创建目录.该命令创建由dirname命名的目录. 如

JSP基础知识_2

一.JSP模版元素  JSP页面中的静态HTML内容称之为JSP模版元素 二.JSP表达式(expression) 将一个java变量或表达式的计算结果输出到客户端的简化方式,它将要输出的变量或表达式直接封装在<%= 和 %>之中 JSP表达式中的变量或表达式的计算结果将被转换成一个字符串,然后被插入进整个JSP页面输出结果的相应位置处 JSP表达式中的变量或表达式后面不能有分号(;),JSP表达式被翻译成Servlet程序中的一条out.print(…)语句 三.JSP脚本片断(script

转载 Deep learning:七(基础知识_2)

前面的文章已经介绍过了2种经典的机器学习算法:线性回归和logistic回归,并且在后面的练习中也能够感觉到这2种方法在一些问题的求解中能够取得很好的效果.现在开始来看看另一种机器学习算法--神经网络.线性回归或者logistic回归问题理论上不是可以解决所有的回归和分类问题么,那么为什么还有其它各种各样的机器学习算法呢?比如这里马上要讲的神经网络算法.其实原因很简单,在前面的一系列博文练习中可以发现,那些样本点的输入特征维数都非常小(比如说2到3维),在使用logistic回归求解时,需要把原

Swift基础小结_2

import Foundation // MARK: - ?和!的区别// ?代表可选类型,实质上是枚举类型,里面有None和Some两种类型,其实nil相当于OPtional.None,如果非nil相当于OPtional.Some// !强制解包//var number : Int?  // 此时解包会崩溃var number : Int? = 8  // 此时解包不会崩溃 // 如果对没值(nil)的变量进行强制解包的情况下会造成崩溃var number1 = number!print(nu

MySQL基础知识_2

MySQL 查询数据 SELECT 列名,列名 FROM 表名 [WHERE Clause] [LIMIT N][ OFFSET M] 查询语句中可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件. SELECT 命令可以读取一条或者多条记录. 可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据. 可以使用 WHERE 语句来包含任何条件. 可以使用 LIMIT 属性来设定返回的记录数. 可以通过OFFSET指定SELECT语句开始查询的数

基础语法_2

※ 描述一下JVM加载class文件的原理机制? JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader是一个重要的java运行时系统组件.它负责在运行时查找和装入类文件的类. ※ char型变量中能不能存储一个中文汉字,为什么? 能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文没问题. ※ 静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同? Static Ne

Java基础进阶_2

抽象类: 使用abstract关键字修饰的类为抽象类,其内部可以有类的一切成员,还可以有abstract修饰的抽象方法(不一定有),抽象方法只有方法的声明,没有方法体,有抽象方法的类必须声明为抽象类. 抽象类不能够创建对象(为什么?反证法:假设创建了抽象类的对象,使用其对象调用抽象方法,而方法没有方法体,没有意义),但其必须是有构造器的,是提供给其子类创建对象时,初始化父类成员使用的. 抽象类的子类必须实现父类的抽象方法,如果不实现,也必须将子类定义为抽象方法. 抽象类存在的意义:为了被子类继承