第3.37课 上课 JDBC深入介绍, JDBC中常见的异常, 软件分层, DT…

3_37

JDBC深入介绍

 JDBC中常见的异常

连接数据库常见异常:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

类没有找到

解决方案:类名是否写错或者没有导入驱动包

 

2.com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown database 'test'

没有这个数据库

 

3. java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

用户名或密码错误

 

4.java.net.SocketException: java.net.ConnectException: Connection refused: connect

连接失败,检查服务是否开启或网络是否连通

 

5.出现ClassNotFoundException

这个问题是由于你没有把driver类放到你的classpath中,也就是说你的程序找不到驱动类.

 

6.网络适配器不能连接

java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection

 

 

7.新增的列和数据数量不匹配

java.sql.SQLException: Column count doesn't match value count at row 1

 

INSERT INTO t_user(username,userpass,logintime) VALUES('tiger','1688');

 

8,存储大对象类型数据

Exception in thread "main" com.mysql.jdbc.PacketTooBigException: Packet for query is too large (2695590 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.

 

在my.ini中增加max_allowed_packet = 20M

 软件分层

  软件分层的概念

1: 表现层

现在看到的网页的一些界面,都属于表现层的东西;

2: 业务层(Service)

用来实现整体的业务逻辑。例如:从前台获得了数据,逻辑层去解析这些数据,效验这些数据等操作。

3: 持久层(DAO)

用来持久化数据。比如,常说的DAO层,操作数据库,将数据入库等。

  软件分层的优缺点

优点:

1.开发人员可以只关注整个结构中的其中某一层;

2.可以很容易的用新的实现来替换原有层次的实现;

3.可以降低层与层之间的依赖;

4.有利于标准化;

5.利于各层逻辑的复用。

 

缺点:

导致系统的性能的下降。因为如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据。

 

 DTO&DAO介绍

  DTO:数据传输对象

数据传输对象(DTO)(Data Transfer Object),是一种设计模式之间传输数据的软件应用系统。数据传输目标往往是数据访问对象从而从数据库中检索数据。数据传输对象与数据交互对象或数据访问对象之间的差异是一个以不具有任何行为除了存储和检索的数据(访问和存取器)。

  DAO:数据访问对象

DAO采用统一的抽象化的API。业务组件只调用DAO提供的接口就可以实现数据的访问。

DAO还降低了 Business Object层的复杂程度。

DAO 还有助于提升系统的可移植性。

 

 

UserDAO --> UserDAOImpl

 课程项目:E购通-大型购物平台

  搭建E购通电子商务平台数据库

  生成DTO工具类

   com.yayadou.dto-3.0.RELEASE.jar

    把jar包复制到/WEB-INF/lib目录中

    把配置文件复制到src目录下

 

 

注意:dto.properties 文件名称不能变

    修改配置文件

 

dto.driverClass = com.mysql.jdbc.Driver

dto.jdbcUrl = jdbc:mysql://localhost:3306/e_buy

dto.user = root

dto.password = root

dto.package = com.yayadou.ebuy.dto

dto.mapper =

dto.tablePrefix = e_

    编写测试类

  开发一个简单的Service类和DAO类

  模拟用户登录

posted on 2018-01-31 23:00  東風★破  阅读(171)  评论(0)    收藏  举报

导航