会员可以在此提问,尚新途老师有问必答

对大家有帮助的问答会被标记为“推荐”,看完课程过来浏览一下别人提的问题,会帮你学得更全面

截止目前,同学们一共提了128827个问题
雷华洪2018-11-15 17:28:25

image.png

在配置时一直是这个界面,修改了口令为orcl也没有反应,这是为什么啊

相关课程:JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用
谈笑风声2018-11-13 10:45:35

如果就查公元81年怎么写?如果查公元前81年怎么写

相关课程:JAVA 全系列/第三阶段:数据库编程/SQL 语言
改个ID2018-10-05 17:43:12
package com.bjsxt.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/**
 * 事务管理
 * @author Administrator
 *
 */
public class JdbcTransaction {

	public static void main(String[] args) {
		String url = "jdbc:oracle:thin:@localhost:1521:orcl";// 数据库连接路径
		String user = "bjsxt";
		String password = "123";
		Connection conn = null;
		Statement stmt1 = null;
		Statement stmt2 = null;
		String sql1 = "update t_account set money=money-1000 where id=1";
		String sql2 = "update t_account set money=money+1000 where id=2";
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
			conn = DriverManager.getConnection(url, user, password);
			System.out.println(conn);
			conn.setAutoCommit(false);
			stmt1 = conn.createStatement();
			stmt2 = conn.createStatement();
			int num = stmt1.executeUpdate(sql1);
			num += stmt2.executeUpdate(sql2);
			if (num == 2) {
				System.out.println("转账成功,提交事务");
				conn.commit();
			} else {
				System.out.println("转账失败");
				conn.rollback();
			}
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			System.out.println("异常信息:" + e.getMessage());
			if (conn != null) {
				try {
					conn.rollback();
				} catch (SQLException e1) {
					e1.printStackTrace();
				}
			}
		} finally {//关闭
			if (conn != null) {
				try {
					conn.setAutoCommit(true);
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			if (stmt2 != null) {
				try {
					stmt2.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			if (stmt1 != null) {
				try {
					stmt1.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			if (conn != null) {
				try {
					conn.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
	}
}

GIF.gif

代码应该是对的,为什么操作失败呢,我也在eclipse中用查询语句查了,结果集的next()是false;是找不到这个t_account表吗.我都已经创建了啊

相关课程:JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧)
donggua2112018-09-28 02:28:20

老师, 请问一下, 我按照视频中的方法加载"db.properties"文件到输入流, 但是输入流是null.. 请看:


DBUtil.JAVA文件截图:


123.png


代码:

package com.yuanzhao.dbutil;

import java.io.IOException;
import java.io.InputStream;
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 java.util.Properties;


public class DBUtil {
	private static String url;
	private static String user;
	private static String password;
	
	static {
		try {
			Properties prop = new Properties();
			
			// 创建文件输入流
			InputStream is = DBUtil.class.getClassLoader().getResourceAsStream("db.properties");
			
			//测试输出
			System.out.println(is);
			
			// 加载配置文件
			prop.load(is);
					
			url = prop.getProperty("jdbc.url").trim();
			user = prop.getProperty("jdbc.username").trim();
			password = prop.getProperty("jdbc.password").trim();
		} catch (IOException e) {
			e.printStackTrace();
			
		}
	}
	
	public static Connection getConn() {
		Connection conn = null;
		try {
			conn = DriverManager.getConnection(url, user, password);
		} catch (SQLException e) {
			System.out.println("DBUtil.getConn(连接创建失败, 请检查[url]:" + url + ", [user]:" + user + ", [password]:" + password + ")");
		}
		return conn;
	}

	public static Statement getStatement(Connection conn) {
		Statement statement = null;
		try {
			statement = conn.createStatement();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return statement;
	}

	public static PreparedStatement getStatement(Connection conn, String sql) {
		PreparedStatement preparedStatement = null;
		try {
			preparedStatement = conn.prepareStatement(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return preparedStatement;
	}

	public static void bindParam(PreparedStatement preparedStatement, Object... params) {
		try {
			for (int i = 0; i < params.length; i++) {
				preparedStatement.setObject((i + 1), params[i]);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public static void close(ResultSet resultSet, Statement statement, Connection conn) {
		if (resultSet != null) {
			try {
				resultSet.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}

		if (statement != null) {
			try {
				statement.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}

		if (conn != null) {
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}


源代码打包:

MyPro0305.zip


相关课程:JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧)
gtl2018-09-21 21:12:13

我上次下载完场之后没有解锁scott账号怎么办啊?

相关课程:JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用
HXY2018-08-22 09:47:38

JDBC的作业报错,调试好久不知道怎么解决:

java.sql.BatchUpdateException: Incorrect string value: '\xAC\xED\x00\x05sr...' for column 'name' at row 1

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)

at com.mysql.jdbc.Util.getInstance(Util.java:408)

at com.mysql.jdbc.SQLError.createBatchUpdateException(SQLError.java:1163)

at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1778)

at com.mysql.jdbc.PreparedStatement.executeBatchInternal(PreparedStatement.java:1262)

at com.mysql.jdbc.StatementImpl.executeBatch(StatementImpl.java:970)

at homework0820.BaseDao.Insert(BaseDao.java:85)

at homework0820.ShowView.main(ShowView.java:27)

Caused by: java.sql.SQLException: Incorrect string value: '\xAC\xED\x00\x05sr...' for column 'name' at row 1

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2486)

at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)

at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2079)

at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1756)

... 4 more


相关课程:JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧)
HXY2018-08-13 23:08:51

image.png

不明白为什么这样输入会成功,按照打印的SQL查询,结果应该为0,怎么会成功


相关课程:JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧)
坚持2018-07-25 15:23:42

老师,Class.forName("oracle.jdbc.driver.OracleDriver")这个返回的是一个Class的对象,这个地方不用Class来接收吗?

相关课程:JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧)

©2014-2023 百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备13018289号-12    营业执照    经营许可证:京B2-20212637