一、使用jdbc的步骤

a.引入数据库厂商提供的驱动程序(引入jar包)

b.记载驱动程序

Clss.forName("驱动程序类")

c.获得连接

Connection con = DriverManager.getConnection         (url,username,password);

url="jdbc:数据库://ip地址:端口;数据库"

username = "用户名"

password = "密码";

d.获得执行sql对象,执行sql返回结果

Statement stat = conn.createStatement();

ResultSet rs = stat.executeQuery("sql语句");

e.处理结果集

while(rs.next()){

Xxxx s = rs.getXxxx("字名|数字");

}

注意:数字下标从1开始

f.释放资源

rs.close();

stat.close;

conn.close;

PreparedStatement比Statement提高了代码的可读性,提高了SQL语句执行的性能,提高了安全性.

 public class JDBC {
public static void main(String[] args) {
//1.加载驱动
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch( ClassNotFoundException e){
e.printStackTrace();
}
//2.获得连接 url = jdbc:sqlserver://localhost:1433;datebaseName=schoolDB,username,password
//jdbc:数据库://ip地址:端口号;数据库名
try{
Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;datebaseName=shoolDB","sa","sa");
System.out.println(conn);
//3.执行sql语句,得到返回结果
String sql = "use shoolDB select * from EMP";
//获得执行sql语句的对象
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery(sql);
//4.处理结果
while(rs.next()){
// int empno = rs.getInt("empno");
// String ename = rs.getString("ename");
// String job = rs.getString("job");
// System.out.println(empno+ename+job);
int empno = rs.getInt(1);
String ename = rs.getString(2);
System.out.println(empno+"\t"+ename);
}
rs.close();
stat.close();
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
//3.执行SQL语句,得到返回结果
//4.处理结果
}
}

JDBC

1.1 核心API

DriverManager   : 管理驱动

Connection      :数据库连接

Statement       :执行sql语句

PreparedStatement  :执行sql语句(推荐)

execute();    :执行任何的sql

executeQuery();  :执行查询sql

executeUpdate(); :执行增删改sql

ResultSet          :结果集

1.2 Dao层步骤

第1步:建表

第2步:实体类

第3步:写接口(需求)

第4步:帮助类(BaseDao).(只要写一次)

第5步:实现类

软件3层结构

视图层

控制层

持久层

浏览器--->视图 ---> 控制层 --->持久层--->数据库

mvc思想:

view:视图.Jsp(控制台)

Contoller:控制层

Model:模型层

1. 业务biz,server(接口+实现)

2. dao层(接口+实现)

dao:一个方法一个sql

每一个dao只会操作一个表(多表查询除外)

biz业务层(核心)

分包:

Dao

Biz

ControLLer(web)

view(控制台)

entity(实体类)

表 --> 实体类 --> dao -->biz --> contro

序列化 接口+实现 接口+实现

Java(19)JDBC的更多相关文章

  1. clickhouse 离线/在线 安装和java通过jdbc链接

    检查 需要确保是否x86_64处理器构架.Linux并且支持SSE 4.2指令集 grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 ...

  2. ava基础MySQL存储过程 Java基础 JDBC连接MySQL数据库

    1.MySQL存储过程   1.1.什么是存储过程 带有逻辑的sql语句:带有流程控制语句(if  while)等等 的sql语句   1.2.存储过程的特点 1)执行效率非常快,存储过程是数据库的服 ...

  3. Java的JDBC操作

    Java的JDBC操作 [TOC] 1.JDBC入门 1.1.什么是JDBC JDBC从物理结构上来说就是java语言访问数据库的一套接口集合,本质上是java语言根数据库之间的协议.JDBC提供一组 ...

  4. JAVA使用JDBC技术操作SqlServer数据库执行存储过程

    Java使用JDBC技术操作SqlServer数据库执行存储过程: 1.新建SQLSERVER数据库:java_conn_test 2.新建表:tb_User 3.分别新建三个存储过程: 1>带 ...

  5. Java使用Jdbc操作MySql数据库(一)

    这个示例是Java操作MySql的基本方法. 在这个示例之前,要安装好MySql,并且配置好账户密码,创建一个logininfo数据库,在数据库中创建userinfo数据表.并且在表中添加示例数据. ...

  6. Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)

    Java 通过JDBC查询数据库表结构(字段名称,类型,长度等) 发布者:唛唛家的豆子   时间:2012-11-20 17:54:02   Java 通过JDBC查询数据库表结构(字段名称,类型,长 ...

  7. JAVA使用jdbc连接MYSQL简单示例

    以下展示的为JAVA使用jdbc连接MYSQL简单示例: import java.sql.DriverManager; import java.sql.ResultSet; import java.s ...

  8. 基于CDH5.x 下面使用eclipse 操作hive 。使用java通过jdbc连接HIVESERVICE 创建表

    基于CDH5.x 下面使用eclipse 操作hive .使用java通过jdbc连接HIVESERVICE 创建表 import java.sql.Connection; import java.s ...

  9. java之JDBC

    java之JDBC 一.什么是JDBC Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提 ...

随机推荐

  1. 记录Nginx常用命令

    在此记录下Nginx服务器常用命令(CentOS7.2.Nginx1.14.2环境) 启动Nginx:./usr/sbin/nginx Nginx检查语法:nginx -tc /etc/nginx/n ...

  2. 解决RSA加密中,System.Security.Cryptography.CryptographicException: 系统找不到指定的文件

    首先说下环境,win2008R2,iis7.5 遇到这个问题,困扰了我一天,在外国的网站上找到答案,还好有点英文基础.最后算是解决了,不过其中的原理还是没有搞的十分清楚. 先说下解决办法, 打开IIS ...

  3. 015_python原生在线调试工具

    一.pdb https://docs.python.org/3/library/pdb.html

  4. [认证授权] 4.OIDC(OpenId Connect)身份认证(核心部分)

    1 什么是OIDC? 看一下官方的介绍(http://openid.net/connect/): OpenID Connect 1.0 is a simple identity layer on to ...

  5. EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public?

    前言 不知我们是否思考过一个问题,在关系映射中对于导航属性的访问修饰符是否一定必须为public呢?如果从未想过这个问题,那么我们接下来来探讨这个问题. EF 6.x和EF Core 何种情况下必须配 ...

  6. 分享收集的WebGL 3D学习资源

    大家好,我在本文中分享了我收集的WebGL 3D相关的博客.书籍.教程.demo等内容,希望对大家学习WebGL和3D有所帮助,谢谢- 相关博客 Wonder技术 Wonder是我们的产品,包含Web ...

  7. 云计算openstack共享组件(1)——时间同步服务ntp

    一.标准时间讲解 地球分为东西十二个区域,共计 24 个时区 格林威治作为全球标准时间即 (GMT 时间 ),东时区以格林威治时区进行加,而西时区则为减. 地球的轨道并非正圆,在加上自转速度逐年递减, ...

  8. node.js、js读取excel、操作excel、创建excel之js-xlsx.js

    node.js篇 第一步引入包 npm install xlsx -save 第二步使用 var xl =require('xlsx'); //workbook 对象,指的是整份 Excel 文档.我 ...

  9. Python----多元线性回归

    多元线性回归 1.多元线性回归方程和简单线性回归方程类似,不同的是由于因变量个数的增加,求取参数的个数也相应增加,推导和求取过程也不一样.. y=β0+β1x1+β2x2+ ... +βpxp+ε 对 ...

  10. CSS3动画效果transition

    1.transition的浏览器支持情况 IE10+支持,IE6\7\8\9都不支持!目前,其他浏览器最新版本都支持,不需要再加前缀 -webkit- 之类的了 2. 还是一步一步说说怎么用trans ...