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

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

上一篇:软工第一系作业


下一篇:Nagios学习笔记四:基于NRPE监控远程Linux主机