当前位置: 首页 > 图文教程 > Java技术 > 数据库持久层 > 流行持久层框架对数据库操作

数据库持久层
持久层设计和数据库设计的原则
关于php的数据库持久层设计
在 SCA Module 中使用 Hibernate 框架实现数据持久层
流行持久层框架对数据库操作
Hibernate持久层操作
hibernate 的 log4j.properties 配置文件
Hibernate的映射类型 hibernate mysql映射类型
hibernate的findByExample
持久化对象PO
终于用hibernate把数据持久层写完了 小结下遇到的一些问题
理解PO类在数据层和VO类在逻辑层的区别
hibernate中使用session之一
hibernate映射到mysql数据库时应该注意的几点
在Struts和Hibernate之间搭起桥梁
Hibernate技术文章-基本配置和写法
Hibernate技术
Hibernate详解
Java数据库编程中的技巧
Hibernate 实体关联关系映射----总结
Hibernate中二级缓存的配置和使用

数据库持久层 中的 流行持久层框架对数据库操作


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 325 ::
收藏到网摘: n/a

Hibernate and Spring


 

删除

hibernateTemplate.delete(对象);


 

保存

hibernateTemplate.save(对象);


 

更新

hibernateTemplate.update(对象);


 

查询返回一个值

hibernateTemplate.get(对象.class, id);


 

查询返回多个值

hibernateTemplate.find(hql查询语句);


 

String hql = "from Info";

this.hibernateTemplate = this.getHibernateTemplate();

List list = this.hibernateTemplate.find(hql);


 

参数绑定查询

queryString.append(" from UserInfo user ");

queryString.append(" where user.userName =:name and user.passWord = :password ");


 

this.hibernateTemplate = this.getHibernateTemplate();

String[] strParanertName = { "name", "password" };//参数名

String[] strPanrentValue = { name, passWord };//参数值


 

List list = this.hibernateTemplate.findByNamedParam(queryString

.toString(), strParanertName, strPanrentValue);


 

Ibatic and Spring

保存

sqlMapTemplate.update("saveInfo", 对象);


 

更新

sqlMapTemplate.update("updateInfo", 对象);


 

删除

sqlMapTemplate.delete("deleteInfo", 对象);


 

查询返回一个值

sqlMapTemplate.queryForObject("getInfo", 参数);


 

查询返回多个值

sqlMapTemplate.queryForList("searhInfoAll");


 

参数绑定查询


 

//保存多个参数

Map paramertMap = new HashMap();

 

paramertMap.put("userName", name);

paramertMap.put("passWord", passWord);


 

List list = sqlMap.queryForList("searchUserInfo", paramertMap);


 


 

Jdbc and Spring

保存

String strSql = "insert into info(name,othername,depart,result) values (:name,:othername,:depart,:result)";

NamedParameterJdbcTemplate template = new NamedParameterJdbcTemplate(

this.getDataSource());


 

Map namedParameters = new HashMap();

namedParameters.put("name", info.getName());

namedParameters.put("othername", info.getOthername());

namedParameters.put("depart", info.getDepart());

namedParameters.put("result", info.getResult());

template.update(strSql, namedParameters);


 

更新

String strSql = "update info set name=:name,othername=:othername,depart=:depart,result=:result where id=:id";

NamedParameterJdbcTemplate template = new NamedParameterJdbcTemplate( this.getDataSource());


 

Map namedParameters = new HashMap();

namedParameters.put("name", newInfo.getName());

namedParameters.put("othername", newInfo.getOthername());

namedParameters.put("depart", newInfo.getDepart());

namedParameters.put("result", newInfo.getResult());

namedParameters.put("id", newInfo.getId());

template.update(strSql, namedParameters);


 

删除

String strSql = "delete from info where id=:id";

NamedParameterJdbcTemplate template = new NamedParameterJdbcTemplate(

this.getDataSource());

SqlParameterSource namedParameters = new MapSqlParameterSource("id", id);

template.update(strSql, namedParameters);


 

查询返回一个值

String strSql = "select id,name,depart,result,othername from info where id=:id";

NamedParameterJdbcTemplate template = new NamedParameterJdbcTemplate(

this.getDataSource());


 

SqlParameterSource namedParameters = new MapSqlParameterSource("id", id);

RowMapper mapper = new RowMapper() {

public Object mapRow(ResultSet rs, int rowNum) throws SQLException {

Info info = new Info();

info.setId(rs.getInt("id"));

info.setDepart(rs.getString("depart"));

info.setName(rs.getString("name"));

info.setOthername(rs.getString("othername"));

info.setResult(rs.getInt("result"));

return info;

}

};


 

Info info = (Info) template.queryForObject(strSql, namedParameters, mapper);


 

查询返回多个值

final List list = new ArrayList();


 

this.getJdbcTemplate().query("select * from info",

new RowCallbackHandler() {//接口回调

Info info = null;


 

//结果集映射

public void processRow(ResultSet rs) throws SQLException {

while (rs.next()) {

info = new Info(); info.setId(rs.getInt("id")); info.setDepart(rs.getString("depart"));

info.setName(rs.getString("name"));

info.setOthername(rs.getString("othername"));

info.setResult(rs.getInt("result"));

list.add(info);

}

}

});


 

参数绑定查询

private class UserInfoMapper implements RowMapper {


 

private class UserInfoMapper implements RowMapper {

@Override

public Object mapRow(ResultSet rs, int rowNum) throws SQLException {

// TODO Auto-generated method stub


 

UserInfo user = new UserInfo();


 

user.setId(rs.getInt("id"));

user.setUserName(rs.getString("userName"));

user.setPassWord(rs.getString("passWord"));

user.setEmail(rs.getString("email"));


 

return user;

}


 

}


 

//查询操作

StringBuffer strSql = new StringBuffer();


 

strSql.append(" select id,userName,passWord,email from userinfo where userName=? and passWord=? ");


 

this.jdbcTemplate = this.getJdbcTemplate();


 

List list = this.jdbcTemplate.query(strSql.toString(), new Object[] {

name, passWord }, new UserInfoMapper());


 

return list;

}