一. 数据库-Oracle
- 数据库的安装,将两个压缩包解压到一个目录下,然后点击安装,注意其中的相关事项:
1.1将基目录和软件安装不能在一个目录,可以将软件放在基目录的子包下。
遇到的问题
1. 安装过程中出现监听异常,后台服务监听程序启动起来后自动停止,解决办法,在开始菜单中找到Oracel的程序下,
打开Net Configuration Assistant --->监听程序配置----->配置监听程序名称----->选中TCP协议------>使用标准端口号1521--->完成
打开Net Manager ------->监听程序-------->LISTENER------->监听位置
配置好 重启监听程序
Oracle命令
用Oracle10g自带的企业管理器或PL/SQL图形化的方法创建表空间和用户以及分配权限是相对比较简单的,本文要介绍的是另一种方法,使用Oracle 9i所带的命令行工具:SQLPLUS
来创建表空间,这个方法用起来更加简明快捷。
假设: 文章假设,如果您用的是Linux系统,那么Oracle用户名为oracle。同时,您是在oracle服务器上操作。
如果是在Windows系统下, 请先点击“开始”,然后点“运行”,输入cmd并点击“确定”,打开命令行窗口
如果是在Linux的图形窗口,请右键点击桌面并点击“打开终端”,然后输入 su - oracl
做好上述准备工作以后,输入以下命令:
sqlplus /nolog
回车后,将出现提示符 SQL>
这时输入
conn / as sysdba
一般即可登录,如果失败的话,可以试一下用conn sys/sys用户的密码 as sysdba来重试一下
接下来,我们看看您当前的数据库文件一般都是放在哪里的:
select name from v$datafile;
windows下可能看到的结果如下:
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
D:\oracle\oradata\orcl\system01.dbf
D:\oracle\oradata\orcl\undotbs01.dbf
D:\oracle\oradata\orcl\cwmlite01.dbf
D:\oracle\oradata\orcl\drsys01.dbf
D:\oracle\oradata\orcl\indx01.dbf
D:\oracle\oradata\orcl\tools01.dbf
说明您的数据文件是放在 D:\oracle\/oradata\orcl\ 这个目录下的
Linux下可能看到的结果如下:
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/oracle/oradata/orcl/system01.dbf
/oracle/oradata/orcl/undotbs01.dbf
/oracle/oradata/orcl/cwmlite01.dbf
/oracle/oradata/orcl/drsys01.dbf
/oracle/oradata/orcl/indx01.dbf
/oracle/oradata/orcl/tools01.dbf
说明您的数据文件是放在 /oracle/oradata/orcl/ 这个目录下的
好,我们可以开始创建数据库表空间了,创建数据库表空间的命令格式如下:
create tablespace 表空间名 datafile '对应的文件名' size 大小;
举例如下:
对于上述的windows情况:
create tablespace yang datafile 'D:\oracle\oradata\orcl\yang.dbf' size 3000m;
3000m指的是3000MB
对于上述的Linux的情况:
create tablespace yang datafile '/oracle/oradata/orcl/yang.dbf' size 3000m;
至此,所需的表空间已建立。
接下来我们开始创建用户,创建用户的命令格式如下:
create user 用户名 identified by 密码 default tablespace 用户默认使用哪一个表空间;
修改用户的权限:
grant 角色1,角色2 to 用户名;
举例如下:
create user yanglei identified by yang123 default tablespace yang;
grant dba, connect to yanglei;
授权成功。
二 数据库 --------mysql
- mysql数据库不大,一般装在C盘就可以,但是数据库文件最好不要放在系统盘,随着数据库数据的不断增加,会不断增加系统盘的容量。
数据库启动出现的问题:
2.1 监听程序启动不了:
利用事件查看器查看原因
----管理
查看详细信息
是因为修改了my.init文件造成的。
图2.1 Mysql安装目录下的结构
打开mysql文件下的my.init文件,修改这两处
修改时会提示权限不足,拒绝修改,可以将整个文件拷贝到桌面修改,修改后将文件复制到安装目录下,覆盖掉原来的文件即可。
然后在管理员权限下打开cmd, net start mysql 重启监听
2.3登录mysql 遇到的问题
仔细斟酌,觉得密码就是你正确的,前一天还登陆成功的,为什么呢?
试了半天:没有使用密码登录
结果就成功进去了!!!!
mysql 命令
3 406错误解决
在秋林商城项目中,遇到flash插件更新问题,按网上教程更新了google,firefox浏览器,但还是不好使 ,最后用IE,结果出来,但是图片上传时一直报
****当我去掉@Responsebody时不报这个错误,居然是404,顺带也记住了,当项目中不加@Responsebody时会报404错误的,所以以后在controller层一定要加@Responsebody
后来去浏览器工具查看
报406错误
去网上找解决办法,尝试着导jackjson-core等包,发现我都已经导入了,
再仔细找原因,结果发现是请求和响应的Content-Type不一致造成的,去哪改呢?
项目中该jsp的消息头,和去controller中改@RequestMapping(value=”upload/pic”,products=”application/json;charset=utf-8”)
改完后重试没有效果,还是一样406错误,后来去mvc中修改了配置文件
<bean
class="com.jt.common.spring.exetend.jackson.CallbackMappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=utf-8</value>
<value>text/html;charset=UTF-8</value>
<value>text/json;charset=UTF-8</value>
<value>application/json;charset=utf-8</value>
</list>
</property>
</bean>
成功!!!!
4 ngnix修改后重启不了
1.修改后,怎么也启动不了,就在cmd下查询
netstat -nao 所有端口,
Netstat -nao|findstr “80” 查询80端口被占用的
关闭对应的pid进程
- 关掉过后还是不行,最后就去nginx日志文件查看,logs-->error
发现是修改的时候出错了,去config中重新配置,将原先配置的删除,重启就成功了。
4. ObjectMapper,java对象和json串之间转换工具类
- 声明 private static final ObjectMapper MAPPER = new ObjectMapper();
- 全局唯一,单例
- 当pojo有数据库表中没有的字段,而且还要触发这些字段get方法
MAPPER.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- MAPPER.writeValueAsString 把java对象转成json串
- JsonNode jsonNode = MAPPER.readTree(jsonItemCat); 把json串转成jsonNode对象
- MAPPER.readValue(jsonNode.traverse(),
MAPPER.getTypeFactory().constructCollectionType(List.class, ItemCat.class));
把jsonNode对象,转成集合对象,List<ItemCat>
出现的问题:
Unrecognized field "state" (class com.jt.manage.pojo.ItemCat), not marked as ignorable (8 known properties: "sortOrder", "status", "isParent", "parentId", "created", "updated", "id", "name"])
解决:两个地方都加,否则会出现第一次加载没错,但是第二次读缓存的时候还是会报错。