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();
}
}
/
@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中对数据的基本 *** 作,删除、插入、更新、查询。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)