Java(19)JDBC
一、使用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的更多相关文章
- clickhouse 离线/在线 安装和java通过jdbc链接
检查 需要确保是否x86_64处理器构架.Linux并且支持SSE 4.2指令集 grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 ...
- ava基础MySQL存储过程 Java基础 JDBC连接MySQL数据库
1.MySQL存储过程 1.1.什么是存储过程 带有逻辑的sql语句:带有流程控制语句(if while)等等 的sql语句 1.2.存储过程的特点 1)执行效率非常快,存储过程是数据库的服 ...
- Java的JDBC操作
Java的JDBC操作 [TOC] 1.JDBC入门 1.1.什么是JDBC JDBC从物理结构上来说就是java语言访问数据库的一套接口集合,本质上是java语言根数据库之间的协议.JDBC提供一组 ...
- JAVA使用JDBC技术操作SqlServer数据库执行存储过程
Java使用JDBC技术操作SqlServer数据库执行存储过程: 1.新建SQLSERVER数据库:java_conn_test 2.新建表:tb_User 3.分别新建三个存储过程: 1>带 ...
- Java使用Jdbc操作MySql数据库(一)
这个示例是Java操作MySql的基本方法. 在这个示例之前,要安装好MySql,并且配置好账户密码,创建一个logininfo数据库,在数据库中创建userinfo数据表.并且在表中添加示例数据. ...
- Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)
Java 通过JDBC查询数据库表结构(字段名称,类型,长度等) 发布者:唛唛家的豆子 时间:2012-11-20 17:54:02 Java 通过JDBC查询数据库表结构(字段名称,类型,长 ...
- JAVA使用jdbc连接MYSQL简单示例
以下展示的为JAVA使用jdbc连接MYSQL简单示例: import java.sql.DriverManager; import java.sql.ResultSet; import java.s ...
- 基于CDH5.x 下面使用eclipse 操作hive 。使用java通过jdbc连接HIVESERVICE 创建表
基于CDH5.x 下面使用eclipse 操作hive .使用java通过jdbc连接HIVESERVICE 创建表 import java.sql.Connection; import java.s ...
- java之JDBC
java之JDBC 一.什么是JDBC Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提 ...
随机推荐
- RocketMQ从3.5.8升级到4.3.2版本实战记录
背景 我们在很早之前大约在2015年8月份左右我们开始使用Rocketmq作为公司消息中间件,那个时候RocketMQ还没有捐赠给Acaphe. RocketMQ版本还是3.2.6,中间升级了一次版本 ...
- 配置安全的管理访问(GNS3)
实验拓扑: 实验目的: 尝试用R2/R3远程登陆R1路由器并进行管理,在此之前先在R1配置安全的管理访问 1.端口IP配置 R1: e1/0 192.168.1.1/24 e1/1 192.168.2 ...
- 实战 EF(LINQ) 如何以子查询的形式来 Join
如题,大多数网上关于 LINQ Join 的示例都是以 from x in TableA join ... 这样的形式,这种有好处,也有劣势,就是在比如我们使用的框架如果已经封装了很多方法,比如分页 ...
- PHP按权重随机
之前业务部门提了一个需求,要求将广告按照ecpm高低进行随机.(即:ecpm高的获取流量的几率大) 如下数组: //要求AD1的概率要求为50%,AD2概率为25% ,AD3的概率为15%,AD4的概 ...
- 15 Django REST Framework 给api添加自定义搜索条件
一.ListModelMixin源码 # 源码 class ListModelMixin(object): """ List a queryset. "&quo ...
- Python中的函数定义方法
def test(x): "hjkasgd" x += 1 return x def——定义函数的关键字 test——函数名 ()——内可定义形参 ""——文档 ...
- No repeats please 全排列
把一个字符串中的字符重新排列生成新的字符串,返回新生成的字符串里没有连续重复字符的字符串个数.连续重复只以单个字符为准 例如, aab 应该返回 2 因为它总共有6中排列 (aab, aab, aba ...
- Centos6.5 pppoe-server
[root@localhost network-scripts]# rpm -q rp-pppoepackage rp-pppoe is not installed ----------------- ...
- vultr测速 看看vultr哪个地区节点速度快
很多网友用vultr的机子主要就是为了*** 所以对哪个区域节点的速度就非常在意 网上都说这个区域节点速度快,那个区域节点的速度快. 还是得自己亲自测试才知道哪个区域的速度快! 所以做了个ping本机 ...
- 快速实现兼容的js复制方式。有点非正规,通过非正规的排版实现。
<div style="height:1px; width:1px; overflow:hidden; position:absolute;left:-2px;"> & ...