在Spring 3中开发数据库应用其实挺简单的,只要在Spring3的最小配置基础上,稍微配置一下就好了,如下所示:
<
bean
id
=
"oracleDataSource"
class
=
"org.apache.commons.dbcp.BasicDataSource"
destroy-method
=
"close"
>
<
property
name
=
"driverClassName"
value
=
"oracle.jdbc.driver.OracleDriver"
/>
<
property
name
=
"url"
value
=
"jdbc:oracle:thin:@localhost:1521:WebLog"
/>
<
property
name
=
"username"
value
=
"admin"
/>
<
property
name
=
"password"
value
=
"admin"
/>
</
bean
>
上面就不解释了,你懂的。下面主要使用注解的方式,有以下几个特点:
1、类是
AnnotationSessionFactoryBean
2、有一个属性
packagesToScan
指定的是注解扫描的路径
3、Hibernate的属性
hibernate.hbm2ddl.auto
如果是create会自动建表
<
bean
id
=
"sessionFactory"
class
=
"org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"
>
<
property
name
=
"dataSource"
ref
=
"oracleDataSource"
/>
<
property
name
=
"packagesToScan"
>
<
list
>
<
value
>
myproject.module.*
</
value
>
</
list
>
</
property
>
<
property
name
=
"hibernateProperties"
>
<
props
>
<
prop
key
=
"hibernate.dialect"
>
org.hibernate.dialect.OracleDialect
</
prop
>
<
prop
key
=
"hibernate.hbm2ddl.auto"
>
update
</
prop
>
<
prop
key
=
"hibernate.show_sql"
>
true
</
prop
>
<
prop
key
=
"hibernate.format_sql"
>
basic
</
prop
>
<!-- 连接释放 -->
<
prop
key
=
"hibernate.connection.release_mode"
>
after_transaction
</
prop
>
</
props
>
</
property
>
</
bean
>
配置依然是很简单,接下来
创建实体类,也很简单,不解释了:
@Entity
@Table
(name=
"article"
)
public
class
Article {
@
Id
@GeneratedValue
@Column
private
long
id
;
@Column
private
String
title
;
@Column
@Lob
@Basic
(fetch=FetchType.
LAZY
)
private
String
content
;
@ManyToOne
@JoinColumn
(name=
"username"
)
private
User
author
;
@Column
private
Date
createDate
;
@Column
private
Date
updateDate
;
public
long
getId() {
return
id
;
}
public
void
setId(
long
id) {
this
.
id
= id;
}
public
String getTitle() {
return
title
;
}
public
void
setTitle(String title) {
this
.
title
= title;
}
public
String getContent() {
return
content
;
}
public
void
setContent(String content) {
this
.
content
= content;
}
public
User getAuthor() {
return
author
;
}
public
void
setAuthor(User author) {
this
.
author
= author;
}
public
Date getCreateDate() {
return
createDate
;
}
public
void
setCreateDate(Date createDate) {
this
.
createDate
= createDate;
}
public
Date getUpdateDate() {
return
updateDate
;
}
public
void
setUpdateDate(Date updateDate) {
this
.
updateDate
= updateDate;
}
}
最后创建DAO类,可以操作数据库了,
@Repository
注解就是告诉Spring这个Bean是数据存储的
:
@Repository
public
class
ContentDao
extends
CommonDao<Article>
{
public
List<Article> list() {
Session session = openSession();
return
session.createQuery(
"from Article order by updateDate desc"
).list()
;
}
public
List<Article> list(
int
start,
int
count) {
Session session = openSession();
Query query = session.createQuery(
"from Article order by updateDate desc"
);
query.setFirstResult(start);
query.setMaxResults(count);
return
query.list()
;
}
public
Article get(Long id) {
Session session = openSession();
Article article = (Article) session.get(Article.
class
, id);
session.close();
return
article;
}
public
long
getArticleCount() {
Query query = openSession().createQuery(
"select count(id) from Article"
);
return
(Long) query.uniqueResult();
}
}
是不是很简单,使用注解真的很简单,总结一下只需三步即可:
1、配置
2、编写实体Bean
3、编写DAO

本文介绍如何在Spring3框架下开发数据库应用,通过配置基本的数据库源和使用注解方式实现实体类、SessionFactory和DAO类的快速搭建,简化数据库操作流程。
383

被折叠的 条评论
为什么被折叠?



