修真院java后端工程师学习课程--任务1(day 5)
昨天知识的回顾
- package com.jdbc;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.Statement;
- public class FirstJDBC {
- public static void main(String[] args)
- {
- //调用连接数据库的操作
- Connection con = createConnection();
- }
- /**
- * JDBC 建立 SQL Server数据库连接
- */
- private static Connection createConnection() {
- //定义加载驱动程序
- String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
- //定义 连接 服务器 和 数据库sample
- String dbURL = "jdbc:sqlserver://localhost:1433; DataBaseName = sample1" ;
- //默认用户名,不要用windows默认身份验证
- String userName = "sa" ;
- String userPassword = "zhichao" ;
- Connection connection = null ;
- Statement sta = null ;
- try {
- //正式加载驱动
- Class.forName(driverName);
- //开始连接
- connection = DriverManager.getConnection(dbURL, userName, userPassword);
- System.out.println("Connection Success !");
- //向数据库中执行SQL语句
- sta = connection.createStatement() ;
- ResultSet rs = sta.executeQuery("SELECT id,name,height From Table_1");
- while(rs.next())
- {
- int id = rs.getInt("id");
- String name = rs.getString("name");
- float height = rs.getFloat("height");
- System.out.println("id = "+id+" name = "+name+" height = "+height);
- }
- } catch (Exception e) {
- System.out.println("Connection Fail !");
- e.printStackTrace() ;
- }
- /**
- * 关闭数据库
- * @param connection
- */
- finally
- {
- try {
- if (null != sta)
- {
- sta.close() ;
- sta = null;
- System.out.println("Statement 关闭成功");
- }
- if (null != connection)
- {
- connection.close() ;
- connection = null;
- System.out.println("Connection 关闭成功");
- }
- } catch (Exception e) {
- e.printStackTrace() ;
- }
- }
- return connection ;
- }
- }
小结:
要写一个jdbc程序,先要加载相应数据库的驱动程序,驱动程序最好放在你建的工程里面,可以在你的工程下面建一个 lib文件夹以存储外部的jar文件,这样的话把你的工程拷贝到别的计算机运行,仍能成功执行。
jdbc代码一般步骤:
1)加载外部驱动程序(jar包)
2)正式加载驱动程序 (Class.forName(driverName) )
3)获取connection连接 (在jdk中的sql包中,只提供了一个类那就是DriverManeger,通过调用它的静态方法getConnection(),可以得到以数据库的连接
4)创建sql语句的声明(Statement),执行sql语句(查询),遍历结果集
5)关闭数据库连接(一般用finally{}来处理,或者调用方法的形式来完成,关闭之前先判断你要关闭的对象连接是否为空,如果空那会抛异常,所以先判断)
今天学习的是DAO设计模式实现数据的增删改查(进一步封装JDBC工具类)
一.DAO模式的介绍
DAO就是Data access object,也就是数据访问接口。数据访问接口就是夹在业务访问和数据库中间,与数据库打交道的。
DAO模式实际上是两个模式的组合,即Data Accessor (数据访问者)模式和 Active Domain Object(领域对象)模式。Data Accessor 模式实现了数据访问和业务逻辑的分离;Active Domain Object 模式实现了业务数据的对象化封装。
二.DAO模式的组建
一个典型的DAO实现有下列几个组件:
- 一个DAO接口;
- 一个实现DAO接口的具体类;
- 数据传递对象(DTO):有些时候叫做值对象(VO)或领域模型(domain)
使用 DAO模式 来对数据库做增删改查操作
这种模式可以大概分为三个层:1.DAO层 2.服务层 3.表现层
1)表现层 :相当于客户端用来查看,提交信息的角色
2)服务层 :是表现层和DAO层的纽带,其实也没干什么事就是通知消息的角色
3)DAO :真正要做事的角色(对数据库的某些操作)
举个生活中的例子:
就好比你去餐厅吃饭,你充当一个 (表现层)的角色,然后有美女服务员(服务层),问你需要吃什么东西,给你下一张订单,让你填。之后服务员把订单传到 厨师(DAO层)那里,具体操作厨师会搞定,一段时间后厨师把做好的食物传给服务员,服务员把食物在传给客户,这些操作就算基本完成了。
执行顺序: 表现层-->服务层-->DAO层-->返回服务层-->返回表现层
实例链接:http://blog.csdn.net/hzc543806053/article/details/7395998