Oracle基础掌握
[TOC]
自来水收费管理系统
1.需求分析
1.1 统计分析
统计当前用水用户数量、当前被禁用水用户数量、总计收费、当月未交费用户数量
最近七天用水量
用户类型比例
用户类型对应的用户数量
1.2 业主管理
对业主信息进行管理,新增业主、删除业主、修改业主信息、禁业主水
1.3 收费管理
登记用水、收费
收费人信息,新增收费人信息、删除收费人
价格管理,设置价格、删除价格
1.4 地区管理
新增用水地区、删除用水地区、修改用水地区
2. 创建表空间和用户
2.1 执行创建表空间语句
1 | create tablespace waterboss |
2.2 创建用户
1 | -- 创建用户 |
1 | -- 为用户waiterboss赋予dba权限 |
3. 表的创建、修改与删除
3.1 创建表
业主表、业主类型表、价格表、区域表、收费员表、地址表、收费台账表
1 | -- 业主表 |
1 | -- 业主类型表 |
1 | -- 价格表 |
1 | -- 区域表 |
1 | -- 收费员表 |
1 | -- 地址表 |
1 | -- 收费台账表 |
3.2 修改、删除表
3.2.1 追加字段
1 | ALTER TABLE 表名 ADD ( |
3.2.2 修改字段
1 | ALTER TABLE 表名 MODIFY ( |
3.2.3 修改字段名
1 | ALTER TABLE 表名 RENAME COLUMN ( |
3.2.4 删除字段名
1 | ALTER TABLE 表名 DROP COLUMN ( |
3.2.5 删除表
1 | ALTER TABLE 表名 |
4. 数据的增加、修改、删除
4.1 插入数据
1 | INSERT INTO 表名 (列名1, 列名2 ) VALUES (value1, value2) |
4.2 修改数据
1 | UPDATE 表名 SET 列名=value WHERE 修改条件 |
4.3 删除数据
1 | DELETE FROM 表名 WHERE 删除条件 |
5. JDBC 链接ORACLE
5.1 创建Maven工程
5.2 导入 ojdbc14.jar
5.3 创建数据库连接工具类
1 | /** |
6. 数据的导出与导入
6.1 整库的导出与导入
1 | --导出[可选] |
6.2 按用户导出与导入
1 | --导出[可选] |
6.3 按表导出导入
1 | --导出 |
问题解决
1. mybatis使用PageHelper进行分页
1 | // 在application.yml 中配置mybaitis和pagehelper |
1 | // 在service中进行分页查询,pageNum是当前页数,pageSize是每页数据量,query是查询条件 |
1 | // 在mapper.xml中写sql语句 |
在尝试模糊查询的时候,mysql中可以直接写 CONCAT('%', #{query},'%')
,在oracle则需要 CONCAT(CONCAT('%', #{query}),'%')
, 原因是oracle只支持两个字符串拼接,如果需要拼接多个,则需要采用||
。
2. Oracle的ID不可自增,利用触发器实现插入数据时ID自增
1 | // 创建触发器,先获取表中的id最大值,再执行insert语句 |