Java中对数据的基本操作,删除、插入、更新、查询。

 我来答
yp0123456789
2011-12-06 · TA获得超过782个赞
知道小有建树答主
回答量:457
采纳率:0%
帮助的人:322万
展开全部
/**
* 将pojo数据保存到数据库
* @throws DataAccessException
*/
public void save(Object object) throws DataAccessException {
getHibernateTemplate().save(object);
}

/*
* (non-Javadoc)
*
* @see com.stockmanage.dao.IDao#update(java.lang.Object)
*/
/**
* 将pojo数据更新到数据库
* @throws DataAccessException
*/
public void update(Object object) throws DataAccessException {
getHibernateTemplate().update(object);
}
/**
* 保存或更新pojo数据到数据库
* @throws DataAccessException
*/
public void saveorupdate(Object object)throws DataAccessException{
getHibernateTemplate().saveOrUpdate(object);
}
/*
* (non-Javadoc)
*
* @see com.stockmanage.dao.IDao#delete(java.lang.Object)
*/
/**
* 根据pojo数据删除数据库中的数据
* @throws DataAccessException
*/
public void delete(Object object) throws DataAccessException {
getHibernateTemplate().delete(object);
}

/*
* (non-Javadoc)
*
* @see com.stockmanage.dao.IDao#findById(java.lang.Class,
* java.io.Serializable)
*/
/**
* 根据id查找数据
* @throws DataAccessException
* @return 返回根据id查询到的pojo对象
*/
@SuppressWarnings("unchecked")
public Object findById(Class clazz, Serializable id)
throws DataAccessException {
Object object = getHibernateTemplate().get(clazz, id);
return object;
}

/*
* (non-Javadoc)
*
* @see com.stockmanage.dao.IDao#findByHql(java.lang.String)
*/
/**
* 根据hql语句查询数据
* @throws DataAccessException
* @return 返回根据hql语句查询到的pojo对象
*/
@SuppressWarnings("unchecked")
public List findByHql(String hql) throws DataAccessException {
List<Object> list = getHibernateTemplate().find(hql);
return list;
}

/*
* (non-Javadoc)
*
* @see com.stockmanage.dao.IDao#findByCriteria(org.hibernate.criterion.DetachedCriteria)
*/
/**
* 根据criteria条件查询数据
* @throws DataAccessException
* @return 返回根据criteria条件查询到的pojo对象
*/
@SuppressWarnings("unchecked")
public List findByCriteria(DetachedCriteria criteria)
throws DataAccessException {
List<Object> list = getHibernateTemplate().findByCriteria(criteria);
return list;
}

/*
* (non-Javadoc)
*
* @see com.stockmanage.dao.IDao#findByExample(java.lang.Object)
*/
/**
* 根据pojo对象查询数据
* @throws DataAccessException
* @return 返回根据pojo对象查询到的pojo对象
*/
@SuppressWarnings("unchecked")
public List findByExample(Object object) throws DataAccessException {
List list = getHibernateTemplate().findByExample(object);
return list;
}
/**
* 根据sql语句查询封装为对象的数据集合
* @throws DataAccessException
* @return 返回根据sql语句查询到的数据集合
*/
@SuppressWarnings("unchecked")
public List findBySql(final String sql,final Class... entity) throws DataAccessException{
return (List) getHibernateTemplate().execute(new HibernateCallback(){
public List doInHibernate(Session session)
throws HibernateException, SQLException {

SQLQuery query = session.createSQLQuery(sql);
for (Class clazz : entity) {
query = query.addEntity(clazz);
}
List list = query.list();
return list;
}
});
}
/**
* 根据sql语句查询数据
* @throws DataAccessException
* @return 返回根据sql语句查询到的数据集合
*/
@SuppressWarnings("unchecked")
public List findBySql(final String sql) throws DataAccessException{
return (List) getHibernateTemplate().execute(new HibernateCallback(){
public List doInHibernate(Session session)
throws HibernateException, SQLException {
List list = session.createSQLQuery(sql).list();
return list;
}
});
}
以上是hibernet的数据库操作基类。有疑问请追问。
馨馨金融科技
2011-12-06 · 超过33用户采纳过TA的回答
知道答主
回答量:95
采纳率:0%
帮助的人:84.1万
展开全部
你要的是应该是jDBC这种原始的数据操作吧,如果需要留一下邮箱给你发个做好的例子既可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尚学堂科技有限公司
2017-01-12 · 百度知道合伙人官方认证企业
尚学堂科技有限公司
北京尚学堂科技有限公司是一家从事JAVA、大数据、web前端、网络在线教育、互联网架构师、Android、ios技术开发、咨询为一体的软件公司。公司由海外留学人员和国内IT人士创建。
向TA提问
展开全部
  • 工具类


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import cn.bjsxt.unicom.common.ConnectPoolFactory;


public abstract  class BaseDao {
/**
 * 获取jdbc连接
 * @return
 */
public Connection getConnection1(){
//long start = System.currentTimeMillis();
String driverClassName="oracle.jdbc.OracleDriver";
String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
String user ="scott";
String password ="orcl";
Connection conn = null;
try {
Class.forName(driverClassName);
conn = DriverManager.getConnection(url, user, password);

} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;

}

/**
 *执行修改数据库表的语句
 * @return
 */
public Integer executeUpdate(String sql,Object...obj) {
Connection conn = null;
PreparedStatement pstmt = null;
Integer n =0;
try {
conn = this.getConnection1();
pstmt = conn.prepareStatement(sql);
for(int i=0;i<obj.length;i++){
pstmt.setObject(i+1, obj[i]);
}
n= pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally{
this.closeAll(null, pstmt, conn);
}
return n;
}
public void closeAll(ResultSet rs,Statement stmt,Connection conn){
try {
if(rs!=null){
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(stmt != null){
stmt.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(conn != null){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}

}
  • 查询


    public List<Users> getUsersList(PagerUtil pager) {
    List<Users> userlist = new ArrayList<Users>();
    //获取链接
    Connection conn = this.getConnection();
    //sql语句,创建发送sql的stat
    //String sql="SELECT * FROM USERS LEFT JOIN DEPT ON USERDEPT=DEPTNUM";//不分页sql
    String sql="SELECT * FROM(SELECT A.*, ROWNUM RN FROM (SELECT * FROM USERS LEFT JOIN DEPT ON USERDEPT=DEPTNUM) A WHERE ROWNUM <="+pager.getEndRow()+")WHERE RN >="+pager.getStartRow();//分页sql  1-3条
    //执行查询语句,并返回resultSet
    try {
    PreparedStatement stat = conn.prepareStatement(sql);
    ResultSet rs = stat.executeQuery();
    while(rs.next()){
    Users users= new Users(rs.getInt("USERID"), rs.getString("USERNAME"), rs.getString("USERLOGINNAME"), rs.getString("USERPWD"), rs.getDate("ENTERDATE"), null, null,rs.getString("DEPTNAME"));
    userlist.add(users);
    }
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return userlist;
    }
  • 增加、修改、删除 全部调用this.executeUpdate(参数)

    public void addUserData(Users users) {
    String sql="INSERT INTO USERS VALUES(?,?,?,?,?,?,?)";
    this.executeUpdate(sql, users.getUserId(),users.getUserName(),
    users.getUserLoginName(),users.getUserPwd(),new java.sql.Date
    (users.getEnterDate().getTime()),users.getUserDept(),users.getUserRole());

    }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友179b4a683c
2011-12-06 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:122万
展开全部
javax.sql.*;这个包去学一下
看下马士兵的教程,百度第一个就是,谢谢采纳,受人以鱼,不如受人以渔
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式