Presentation is loading. Please wait.

Presentation is loading. Please wait.

胡鹏 王慧锋 TEL: 18780273367 E-mail: 653703162@qq.com 数据库系统原理课程设计 实验环节1 胡鹏 王慧锋 TEL: 18780273367 E-mail: 653703162@qq.com.

Similar presentations


Presentation on theme: "胡鹏 王慧锋 TEL: 18780273367 E-mail: 653703162@qq.com 数据库系统原理课程设计 实验环节1 胡鹏 王慧锋 TEL: 18780273367 E-mail: 653703162@qq.com."— Presentation transcript:

1 胡鹏 王慧锋 TEL: 18780273367 E-mail: 653703162@qq.com
数据库系统原理课程设计 实验环节1 胡鹏 王慧锋 TEL:

2 课程安排 PostgreSQL的使用, JDBC连接数据库 Servlet技术,MVC框架,单表、多表查询 实现对单表和多表的增、删、改
在增、删、改、查中实现信息同步 Session、application的应用 课程设计实现 期末检查

3 实验环节1 PostgreSQL的使用 JDBC连接数据库 Psql常用命令 SQL命令练习 JDBC原理
JDBC连接PostgreSQL数据库

4 实验环节1 PostgreSQL的使用 JDBC连接数据库 Psql常用命令 SQL命令练习 JDBC原理
JDBC连接PostgreSQL数据库

5 Psql常用命令 \c [数据库名]连接到另外一个数库 \l 列出所有数据库 \d 查看模式 \q *断开终端 \h SQL命令帮助

6 Psql常用命令 \c [数据库名]连接到另外一个数库 \l [数据库名]列出所有数据库 \d [数据库名]查看模式 \q 断开终端
\h SQL命令帮助 \? Psql客户端命令帮助

7 Sql命令练习-创建表 create table student( sno char(10), sname char(8),
sgender char(2), sage int, sdept char(2), constraint student_pkey primary key (sno) );

8 Sql命令练习-创建表 create table student( sno char(10), sname char(8),
sgender char(2), sage int, sdept char(2), constraint student_pkey primary key (sno) );

9 Sql命令练习-创建表 常用数据类型 Integer Numeric(precision, scale)
Char(n)与Varchar(n) Date/ Time/ Timestamp与Interval

10 Sql命令练习-创建表 常用数据类型 Integer Numeric(precision, scale)
Char(n)与Varchar(n) Date/ Time/ Timestamp与Interval 用来表示浮点数 1: 精度 2: 比例(小数点位数)

11 Sql命令练习-创建表 常用数据类型 常用约束 Integer Numeric(precision, scale)
Char(n)与Varchar(n) Date/ Time/ Timestamp与Interval 常用约束 Primary key Unique Foreign key Check Null/Not Null, (Default) varchar(n) 是变长格式,这种格式的字段根据实际数据长度分配空间 char(n)是定长格式,格式为char(n)的字段固定占用n个字符宽度

12 要求创建的表 学生基本信息表 student(sno, sname, sgender, sage, sdept) 课程信息表
course(cno, cname, cpno, ccredit) 选课表 sc(sno, cno, grade);

13 插入数据 INSERT INTO student(sno, sname, ssex, sdept) VALUES (?, ?, ?, ?);
INSERT INTO student VALUES (?, ?, ?, ?); 例:INSERT INTO student( sno, sname, ssex, sdept)VALUES (’ ’,‘小明’,’男’, ‘01’); INSERT INTO student VALUES (’ ’,‘小明’,’男’, ‘01’);

14 实验环节1 PostgreSQL的使用 JDBC连接数据库 Psql常用命令 Sql命令练习 JDBC原理
JDBC连接PostgreSQL数据库

15 JDBC API JDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库。 Java应用程序 JDBC驱动管理程序 数据库 JDBC驱动程序

16 JDBC连接数据库 Class.forName(driverClass);
Connectionconn=DriverManger.getConnection (“URL”,”USER’’,”PASSWORD”) Statement stm=conn.createStatement(); ResultSet rs=stmt.executeQuery(“sql语句”);

17 JDBC连接数据库 Class.forName(driverClass);
Connectionconn=DriverManger.getConnection (“URL”,”USER’’,”PASSWORD”) Statement stm=conn.createStatement(); ResultSet rs=stmt.executeQuery(“sql语句”);

18 JDBC驱动的类名 Class.forName(driverClass); 加载与注册JDBC驱动
oracle.jdbc.driver.OracleDriver com.microsoft.jdbc.sqlserver.SQLServerDriver com.mysql.jdbc.Driver sun.jdbc.odbc.JdbcOdbcDriver org.postgresql.Driver 例:Class.forName("org.postgresql.Driver");

19 JDBC连接数据库 Class.forName(driverClass);
Connectionconn=DriverManger.getConnection (“URL”,”USER’’,”PASSWORD”) Statement stm=conn.createStatement(); ResultSet rs=stmt.executeQuery(“sql语句”);

20 JDBC连接数据库 Connectionconn=DriverManger.getConnection
(“URL”,”USER’’,”PASSWORD”) URL用(:)分为三个部分: 协议:JDBC是唯一允许的协议 子协议:用于标示一个数据库驱动程序 子名称:数据源 Jdbc : postgresql : //localhost:5432/stuinfo 协议 子协议 数据源

21 JDBC连接数据库 private String url ="jdbc:postgresql://localhost:5432/stuinfo"; private String user="postgres"; private String password="admin"; Connection conn =DriverManager.getConnection(url,user,password);

22 JDBC连接数据库 Class.forName(driverClass);
Connectionconn=DriverManger.getConnection (“URL”,”USER’’,”PASSWORD”) Statement stm=conn.createStatement(); ResultSet rs=stmt.executeQuery(“sql语句”);

23 JDBC连接数据库 Statement stm=conn.createStatement();
向数据库服务器发送命令和sql语句,在数据库连接建立后,需要对数据库进行访问执行sql语句。 PreparedStatement pstm =conn.prepareStatement("SELECT * FROM student where ssex=?"); pstm.setString(1,sex);

24 JDBC连接数据库 Class.forName(driverClass);
Connectionconn=DriverManger.getConnection (“URL”,”USER’’,”PASSWORD”) Statement stm=conn.createStatement(); ResultSet rs=stmt.executeQuery(“sql语句”);

25 JDBC连接数据库 ResultSet rs=stmt.executeQuery(“SQL语句”);
while(re.next()!=null){}来遍历结果集; int executeUpdate(String sql) 返回受影响的行数;

26 JDBC连接数据库实现流程 新建DBhelper类(实现数据库连接功能) 调用方法一 调用方法二 使用数据库连接时,打开连接,用完后关闭;
从项目启动一直到关闭保持数据库连接;

27 JDBC连接数据库实现流程 新建Servlet dbSer; 在dbSer的init( )里面连接数据库;
在dbSer的destroy( )里面关闭数据库连接; 修改web.xml 文件, 使dbSer在项目启动时就加载;

28 初始化数据库连接 public void init() throws ServletException { System.out.println("尝试初始化数据库连接"); DBhelper dbhelper=new DBhelper(); conn=dbhelper.getConnection(); }

29 关闭数据库连接 public void destroy() { super.destroy(); try { conn.close(); System.out.println(“数据库连接关闭!"); } catch (SQLException e) { e.printStackTrace(); }

30 修改web.xml文件 <servlet> <servlet-name>DBSer</servlet-name> <servlet-class>ser.DBSer</servlet-class> <load-on-startup>1</load-on-startup> </servlet> 项目加载时初始化DBSer 参数: 初始化的顺序

31 作业(纸质文件) 课程设计需求文档 (E-R图)


Download ppt "胡鹏 王慧锋 TEL: 18780273367 E-mail: 653703162@qq.com 数据库系统原理课程设计 实验环节1 胡鹏 王慧锋 TEL: 18780273367 E-mail: 653703162@qq.com."

Similar presentations


Ads by Google