最近着手學習JAVA WEB開發中的Spring框架,初學,遇到了很多的問題,剛開始的問題有的沒重視,有的記錄下
來了。每回遇到問題全靠CSDN等網站上的熱心網友們的回答,在這裏我也想寫下我在框架學習中遇到的問題,依次
作爲一個記錄,也可以給後來者提供一些幫助!
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類型