数据库2
2016-05-29 10:12
267 查看
子查询:
某一个查询结果作为另一个查询的条件称为子查询;
CREATE TABLE Room(
id INT PRIMARY KEY AUTO_INCREMENT, RoomAdress VARCHAR(60), price INT, personId INT
); DROP TABLE Room;
ALTER TABLE Room ADD CONSTRAINT fk_1 FOREIGN KEY(personId) REFERENCES person(id);
INSERT INTO Room(RoomAdress,price,personId) VALUES ('火车南站1号',138,1),('白果林地铁站',118,3),('火车北站12号',98,2), ('东风路14号',98,2),('人民南路7号',98,1),('倪家桥16号',98,3),('省体育馆2号',98,1);
JDBC
Java DateBase Connectivitu 是一种用于执行SQL语句的Java的API 它由一组用Java语言 编写的类和接口组成,通过这些类和接口,JDBC吧SQL语句发给不同类型的数据库进行处理并接受处理结果
是JAVA连接数据库的一套规范,该规范中定义了一系列接口,由数据库厂商提供实现接口,由开发者根据接口,调用实现方法,这样开发者就可屏蔽不同数据库的差异,无论连接什么数据库,对数据库做什么样的操作,都是一套API
流操作的步骤:
1.建立流;
2.操作流;
3.关闭流;
JDBC操作步骤:
1.加载驱动,建立连接;
2.执行SQL语句;
3.关闭连接;
dao模式:建立实体类和数据库表做映射,也就是哪个表对应哪个类,哪个属性对应哪个列,而JDBC操作的目的就是,完成对象数据的关系数据的转换;
ps = con.prepareStatement("insert into t_user(emName,birthday,money) values(?,?,?)"); ps.setString(1, bean.getName()); ps.setDate(2, bean.getBirthday()); ps.setInt(3,bean.getMoney());增加,删除,修改数据必须更新数据库,否则很可能写不进数据
Statement 和 PreparedStatement的区别:
1.Statement 是 PreparedStatement 的父接扣; 2.Statement在执行SQL语句时只能以拼接字符串的方式设置值。由于每次值都不一样,所以在执行SQL语句时,都会讲SQL语句重新编译,效率较低,而PreparedStatement提供占位符方式,SQL不用每次执行,执行效率较高。 3.Statement在执行SQL语句时由于采用字符串拼接方式设置值,容易造成SQL注入;而PreparedStatement使用占位符方式设置值,无论什么值都当字符串处理,不会造成SQL注入;
SQL注入:
在执行SQL语句时,如果以拼接字串的方式设置值,如果在值中有SQL语句关键字或非法字符,可能会造成执行结果不正确或执行失败的情况,就叫SQL注入。
开闭原则:软件实体面向修改关闭,面向扩展开放。其实现核心就是抽象。将相同的代码抽象出来,便于代码重用,这就是闭,将不同的代码也抽象出来,便于功能的扩展,这就是开。
三层架构
表现层,业务层,持久层
持久层:完成数据库的操作,采用DOA模式,建立实体类和数据库进行映射,也就是哪个类对应哪个表,哪个属性对应哪个列。而持久层的目的就是完成关系数据和对象数据的转换。
业务层:完成业务处理。采用事物脚本模式。将一个业务中所有的业务操作封装成一个方法,保证方法中所有数据库更新操作同事成功,或同事失败
表现层:完成数据的 展示,采用MVC模式
M:模型。也就是实体类,完成数据的封装和数据的传输
V:视图。也就是GUI窗体。完成数据的展示
C:控制。也就是事件。完成业务方法的调用和业务流程的控制
三层架构业务顺序:
用户层------->表现层-------->业务层------->持久层------->DB
项目开发流程:
1.需求分析
2.设计
3.编码
4.调试和测试
5.上线和维护
相关文章推荐
- 数据库1
- 数据库(1)
- 数据库
- sql事务的隔离级别以及一些MYSQL的命令
- redis之列表类型
- 通过 Hibernate API 编写访问数据库的代码
- Oracle问题之literal does not match format string
- SQL的简单应用
- 常见SQL异常及解决方法
- 关系型数据库
- 一句话理解数据库索引
- JDBC连接数据库(续)
- SQL性能调优
- 解读mysql主从配置及其原理分析(Master-Slave)
- MySQL优化必须调整的10项配置
- 最全防止sql注入方法
- SQL SERVER性能优化-查询速度提高
- 数据库
- 数据库索引以及优化
- 分析redis消息队列和kafka来解决分布式事务场景