package JDBC_TEST;

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

public class TestConn {
/**
* 步骤:
* 1.加载JDBC驱动
* 2.建立数据库连接
* 3.创建Statement对象
* 4.执行SQL语句
* 5.处理返回结果
* 6.关闭连接
* @param args
* @throws SQLException
*/
public static void main(String[] args) throws SQLException {

//实例化类对象:
TestConn con=new TestConn();
con.getConn();

//4.执行SQL语句,获取用户列表信息
// try {
// con.queryUsersList();
// } catch (SQLException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
//con.insert();

}


public Connection getConn(){
/*1.加载驱动:放入第三方jar包(webif\lib\mysql-connector-java-5.1.25-bin),
* 通过java.lang.class类加载该包
*/
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("连接成功");

} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
System.out.println("找不到驱动程序");
}
/*2.创建连接
* (1)通过jdbc提取url,
* url格式:协议:子协议:数据库标识(jdbc://mysql://ip地址:端口/数据库)
*/
String url="jdbc:mysql://localhost:3306/student";
//(2)创建连接
Connection conn=null;
try {
conn= (Connection) DriverManager.getConnection(url, "root", "");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
/**
* 3.创建Statement对象,查询数据库表users,显示列表信息
* @throws SQLException
*/
public void queryUsersList() throws SQLException{
//连接数据库
Connection con=getConn();
ResultSet res=null;

//创建Statement对象
Statement sta=null;

try {
sta=(Statement) con.createStatement();
//执行相关SQL语句
String sql ="select * from users";
res=sta.executeQuery(sql);
while(res.next()) {//逐条显示
//查询时可以根据列的序号,也可以通过列名查询
System.out.print("姓名:"+res.getString(2)+"\t");
System.out.println("籍贯:"+res.getString("address"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
//6.关闭连接:注意先使用的后关闭


res.close();
sta.close();
con.close();
}

}

/**
* 通过JDBC实现对数据库的新增记录操作
* @throws SQLException
*/
public void insert() throws SQLException{

//1.加载驱动,建立对数据库连接
Connection con= getConn();
//2.创建一个Statement对象
Statement st= (Statement) con.createStatement();
String sql="insert into users (name,age) values('张三',20)";
st.executeUpdate(sql);
//3.关闭连接
st.close();
con.close();


}
}

一、javase学习:数据库操作练习的更多相关文章

  1. Spring Boot学习——数据库操作及事务管理

    本文讲解使用Spring-Data-Jpa操作数据库. JPA定义了一系列对象持久化的标准. 一.在项目中使用Spring-Data-Jpa 1. 配置文件application.properties ...

  2. django学习-数据库操作接口API--(CRUD)

    初试API(数据库操作接口CRUD) 现在我们进入交互式python命令行,尝试一下django为你创建的各种API,通过以下命令打开python命令行: py -3 manage.py shell进 ...

  3. 学习MySQL之数据库操作(一)

    所有代码,均为自学时用到的测试与注释,知识细节或知识点不会面面俱到,亦不会有任何讲解,只做为自己学习复习用. ##数据库操作 ##创建数据库 myTest ,并将数据库字符集设为GBK CREATE ...

  4. Flas-SQLAchemy数据库操作使用学习笔记

    Flas-SQLAchemy数据库操作使用学习笔记 Flask-SQLALchemy 是一个给你的应用添加 SQLALchemy 支持的 Flask 扩展.SQLALchemy 是Python语言的S ...

  5. PHP学习之-数据库操作

    PHP学习之-数据库操作 1.PHP支持那些数据库 PHP通过安装相应的扩展来实现数据库操作,现代应用程序的设计离不开数据库的应用,当前主流的数据库有MsSQL,MySQL,Sybase,Db2,Or ...

  6. golang学习笔记16 beego orm 数据库操作

    golang学习笔记16 beego orm 数据库操作 beego ORM 是一个强大的 Go 语言 ORM 框架.她的灵感主要来自 Django ORM 和 SQLAlchemy. 目前该框架仍处 ...

  7. android菜鸟学习笔记20----Android数据存储(四))Android数据库操作

    Android内置了一个名为SQLite的关系型数据库,这是一款轻量型的数据库,操作十分简便.SQLite与别的数据库不同的是,它没有数据类型.可以保存任何类型的数据到你所想要保存的任何表的任何列中. ...

  8. MongoDB学习笔记(2):数据库操作及CURD初步

    MongoDB学习笔记(2):数据库操作及CURD 数据库操作 创建数据库 首先MongoDB中数据库的创建和数据库的切换都是使用命令,USE DATABASE,如果要切换的数据库不存在则会进行创建, ...

  9. springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验--异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档---jpa访问数据库及page进行分页---整合redis---定时任务

    springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验-- 异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档 ...

  10. java EE学习之数据库操作

    jdbc开发流程 注册驱动 建立连接(Connection) 创建运行SQL的语句(Statement) 运行语句 处理运行结果(ResultSet) 释放资源 注冊驱动有三种方式: Class.fo ...

随机推荐

  1. 黑马程序员_ Objective-c 之Foundation笔记(二)

    NSArray NSArray的创建 NSArray *array = [NSArray arrayWithObject:@“jack”]   创建单个元素 NSArray *array3 = [NS ...

  2. Linux系统下如何查看已经登录用户

    查看用户的操作 系统管理员若想知道某一时刻用户的行为,只需要输入命令W 即可,在SHELL终端中输入如下命令: [ROOT@LOCALHOST ROOT] # W 2:31PM UP 11 DAY , ...

  3. DAO模式设计步骤

    1.DAO 全称是data access object,数据库访问对象,主要的功能就是用于进行数据操作的,在程序的标准开发架构中属于数据层的操作. 2.分成架构 企业分层架构 客户层:因为现在都采用了 ...

  4. jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示

    类似的文章园子里已有,请看这里,个人感觉稍显复杂,日前也打算写一个简单的给项目用,一些关键点记录于此.最终效果如下: 后端使用Asp.net mvc5,前端框架有:jquery.validate.jq ...

  5. javascript this关键字指向详解

    在之前写代码的经历中,常常试过写着写着this就莫名其妙的不知道指向到哪里去了.今天看了曾探的javascript设计模式,里面特别谈到了this在不同情况下指代的对象,非常有意思. this指代的情 ...

  6. 浅尝辄止——在C++中调用C#的回调函数——COM方式

    这种方式比较简单,给大家分享一下,同时讲一下SafeArray内定义结构体的方法 1. 需求描述 需求是这样的,C++代码和C#代码相互通信(C++一般做服务,C#做客户端),C++一侧准备好数据,然 ...

  7. js监听浏览器,关闭,刷新

    //浏览器关闭或刷新事件 function bindCloseBrowser() { var a = "注意!!\n您即将离开页面!离开后可能会导致数据丢失\n\n您确定要离开吗?" ...

  8. [转载]Python & Selenium -- 页面加载时间过长&启动指定FF

    原文链接:https://my.oschina.net/u/2344787/blog/400507?p={{page}} 1. selenium webdriver在get方法会一直等待页面加载完毕才 ...

  9. redis集群同步迁移方法(二):通过redis-migrate-tool实现

    前篇介绍的redis replication方法,操作步骤多,而且容易出错.在git上看到一些开源工具也能实现同步迁移功能,而且步骤简单,比如redis-port,redis-migrate-tool ...

  10. Leetcode4:Median of Two Sorted Arrays@Python

    There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two ...