最近着手学习JAVA WEB开发中的Spring框架,初学,遇到了很多的问题,刚开始的问题有的没重视,有的记录下
来了。每回遇到问题全靠优快云等网站上的热心网友们的回答,在这里我也想写下我在框架学习中遇到的问题,依次
作为一个记录,也可以给后来者提供一些帮助!
Oracle数据库的commit
在oracle 11g中,提供了数据库可视化操作工具 sql developer ,在使用这个工具修改(update)时, 尤其注意在修改结束之后要提交commit;否则数据库中是不会保存你update的数据的,并且你如果是 在sql developer中update数据,那么你如果通过java客户端再去操作这些数据,是不会有任何效果 的,直到你提交commit; 值得注意的是,在你采用Spring Dao来管理jdbc时,是不需要你去提交的,提交方式为自动提交。
通过java向Oracle插入时间
转换代码如下,
Date d = new Date();
SimpleDateFormat sd = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String ss = sd.format(d);
- java中计算程序的执行时间
long start = System.currentTimeMillis(); //开始
System.out.println("开始更新数据");
//...执行代码在这里
long end = System.currentTimeMillis(); //
long count = end - start;
System.out.println("数据更新结束");
System.out.println("一共耗时:"+count+"毫秒");
Oracle 实现主键自增长
1.建表并且建立相应的字段和主键
create table tb_person
(id NUMBER, name varchar(255) ,sex varchar(10), age NUMBER , deparmendId varchar(255),inputTime NUMBER, primary key(id));
2.创建一个序列
create sequence sequence_name
minvalue 1
maxvalue 99999999
start with 1
increment by 1
cache 20 ;
3.建立触发器
create or replace trigger trg_insert_id
before insert on tb_person
for each row
BEGIN
select sequence_name.nextval into :new.id from dual;
END;
4.测试
insert into tb_person ( name, sex , age) values('hello','男',30);
Oracle 和mysql不一样,mysql中在建表的时候就可以把主键设置为自增长,oracle不支持这种方式。
- 关于nested exception is java.lang.NullPointerException错误
在另一个程序调用上面的dao时,一定要记得加autowire!!
这篇博客比较详细:http://www.cnblogs.com/amosli/p/3468282.html
@Autowired
private IUserDao userDao;
@Autowired
public IUserDao getUserDao() {
return userDao;
}
@Autowired
public void setUserDao(IUserDao userDao) {
this.userDao = userDao;
}
关于错误:Cannot load JDBC driver class ‘oracle.jdbc.driver.OracleDriver’
一般情况下都是关于数据库驱动的jar包的错误,
- java中使用oracle的where限定条件查询时
1) 字符串要使用单引号”括起来
2) 字符串里面只能出现文字,不能出现空格,出现空格查询无结果
3) 在程序中可以使用trim()方法来去除字符串中间的空格
4)尽量少使用+号来连接字符串,可以在程序中使用StringBuffer,再调用他的append()方法,然后再通过toString()方法将它转换为String类型