如何在Java程序中更新数据库同一表的两条数据

如何在Java程序中更新数据库同一表的两条数据,第1张

mailluzhou, wuzhemeng1983的实现都能够解决问题,个人 wuzhemeng1983的写法好些。prepareStatement能提高一些效率。至于事务方面,我认为mailluzhou的方法也能满足这样的需求。

public static void Update(Connection con, String sql, Object objects) {

PreparedStatement pre = null;

try {

pre = conprepareStatement(sql);

for (int i = 0; i < objectslength; i++) {

presetObject(i + 1, objects[i]);

}

preexecuteUpdate();

} catch (SQLException e) {

eprintStackTrace();

}

}

/

将pojo数据保存到数据库

@throws DataAccessException

/

public void save(Object object) throws DataAccessException {

getHibernateTemplate()save(object);

}

/

(non-Javadoc)

@see comstockmanagedaoIDao#update(javalangObject)

/

/

将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 comstockmanagedaoIDao#delete(javalangObject)

/

/

根据pojo数据删除数据库中的数据

@throws DataAccessException

/

public void delete(Object object) throws DataAccessException {

getHibernateTemplate()delete(object);

}

/

(non-Javadoc)

@see comstockmanagedaoIDao#findById(javalangClass,

javaioSerializable)

/

/

根据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 comstockmanagedaoIDao#findByHql(javalangString)

/

/

根据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 comstockmanagedaoIDao#findByCriteria(orghibernatecriterionDetachedCriteria)

/

/

根据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 comstockmanagedaoIDao#findByExample(javalangObject)

/

/

根据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 = sessioncreateSQLQuery(sql);

for (Class clazz : entity) {

query = queryaddEntity(clazz);

}

List list = querylist();

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 = sessioncreateSQLQuery(sql)list();

return list;

}

});

}

以上是hibernet的数据库 *** 作基类。有疑问请追问。

安装完Oracle客户端后,里面有个jdbc的文件夹,该文件夹下就包含了OCI驱动和THIN驱动。所以是不需要去网上下载的。这个驱动在jdbc/lib文件夹下,主要有classes12jar、nls_charset12jar等等。其中以12结尾的驱动包适应于jdk11以上的版本。以11结尾的适应于jdk11以下的版本。文件名中含有classes的jar包就是驱动程序,文件名中含有nls的jar包是与国际化有关的类。

找到文件后,就需要把class和nls的jar包的绝对路径加入CLASS_PATH环境变量,否则会报ClassNotFound的异常。

设置环境变量后,就可以直接使用OCI驱动了,不要被“驱动”两个字吓坏了,(驱动就是一个可执行文件和一个连接字符串)。很简单,无非是连接字符串的问题。标准的连接字符串如下所示:

ClassforName("oraclejdbcdriverOracleDriver");

Connection con = DriverManagergetConnection("jdbc:oracle:oci:@xxzc","duansiyuan", "oracle_password");

只要这两行,就可以保证连接到数据库,而这个数据库不管是单个数据库还是集群数据库。其中xxzc就是数据库名,duansiyuan就是用户名,oralce_password就是密码。这种方式和C#中的方式比较类似。

需要注意的问题:

1、oracle_home/jdbc文件夹下有大量的样板代码和帮助文档,里面对如何安装和使用jdbc都有详细的说明,请引起高度重视并耐心阅读。里面有很多知识仅通过自己反复的实践是无法获取的。

2、如果想要高性能,请使用OCI连接,如果不想装Oracle客户端,请使用thin连接。

这种问题我自己是先把这个sql放在数据库值执行·看是不是语句的问题

如果不是语句的问题,看自己的查询是不是有条件的

不知道你是自学还是有老师教,这样取列编号是不建议的·

String sql = “select from admin”;

rs  = executeUpdate(sql);

这样是不是在自己修改的时候能更舒服一点。建议而已。

如果有事务处理的话·需要加上commit提交事务。

以上就是关于如何在Java程序中更新数据库同一表的两条数据全部的内容,包括:如何在Java程序中更新数据库同一表的两条数据、java更新数据库表信息代码、Java中对数据的基本 *** 作,删除、插入、更新、查询。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9734155.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存