List of usage examples for org.springframework.jdbc.datasource SingleConnectionDataSource SingleConnectionDataSource
public SingleConnectionDataSource(Connection target, boolean suppressClose)
From source file:org.springframework.jdbc.core.AbstractRowMapperTests.java
protected void setUp() throws SQLException { conControl = MockControl.createControl(Connection.class); con = (Connection) conControl.getMock(); con.isClosed();/*from ww w . j a v a2s . c om*/ conControl.setDefaultReturnValue(false); rsmdControl = MockControl.createControl(ResultSetMetaData.class); rsmd = (ResultSetMetaData) rsmdControl.getMock(); rsmd.getColumnCount(); rsmdControl.setReturnValue(4, 1); rsmd.getColumnLabel(1); rsmdControl.setReturnValue("name", 1); rsmd.getColumnLabel(2); rsmdControl.setReturnValue("age", 1); rsmd.getColumnLabel(3); rsmdControl.setReturnValue("birth_date", 1); rsmd.getColumnLabel(4); rsmdControl.setReturnValue("balance", 1); rsmdControl.replay(); rsControl = MockControl.createControl(ResultSet.class); rs = (ResultSet) rsControl.getMock(); rs.getMetaData(); rsControl.setReturnValue(rsmd, 1); rs.next(); rsControl.setReturnValue(true, 1); rs.getString(1); rsControl.setReturnValue("Bubba", 1); rs.wasNull(); rsControl.setReturnValue(false, 1); rs.getLong(2); rsControl.setReturnValue(22, 1); rs.getTimestamp(3); rsControl.setReturnValue(new Timestamp(1221222L), 1); rs.getBigDecimal(4); rsControl.setReturnValue(new BigDecimal("1234.56"), 1); rs.next(); rsControl.setReturnValue(false, 1); rs.close(); rsControl.setVoidCallable(1); rsControl.replay(); stmtControl = MockControl.createControl(Statement.class); stmt = (Statement) stmtControl.getMock(); con.createStatement(); conControl.setReturnValue(stmt, 1); stmt.executeQuery("select name, age, birth_date, balance from people"); stmtControl.setReturnValue(rs, 1); if (debugEnabled) { stmt.getWarnings(); stmtControl.setReturnValue(null, 1); } stmt.close(); stmtControl.setVoidCallable(1); conControl.replay(); stmtControl.replay(); conControl2 = MockControl.createControl(Connection.class); con2 = (Connection) conControl2.getMock(); con2.isClosed(); conControl2.setDefaultReturnValue(false); rsmdControl2 = MockControl.createControl(ResultSetMetaData.class); rsmd2 = (ResultSetMetaData) rsmdControl2.getMock(); rsmd2.getColumnCount(); rsmdControl2.setReturnValue(4, 2); rsmd2.getColumnLabel(1); rsmdControl2.setReturnValue("name", 2); rsmd2.getColumnLabel(2); rsmdControl2.setReturnValue("age", 2); rsmd2.getColumnLabel(3); rsmdControl2.setReturnValue("birth_date", 1); rsmd2.getColumnLabel(4); rsmdControl2.setReturnValue("balance", 1); rsmdControl2.replay(); rsControl2 = MockControl.createControl(ResultSet.class); rs2 = (ResultSet) rsControl2.getMock(); rs2.getMetaData(); rsControl2.setReturnValue(rsmd2, 2); rs2.next(); rsControl2.setReturnValue(true, 2); rs2.getString(1); rsControl2.setReturnValue("Bubba", 2); rs2.wasNull(); rsControl2.setReturnValue(true, 2); rs2.getLong(2); rsControl2.setReturnValue(0, 2); rs2.getTimestamp(3); rsControl2.setReturnValue(new Timestamp(1221222L), 1); rs2.getBigDecimal(4); rsControl2.setReturnValue(new BigDecimal("1234.56"), 1); rs2.next(); rsControl2.setReturnValue(false, 1); rs2.close(); rsControl2.setVoidCallable(2); rsControl2.replay(); stmtControl2 = MockControl.createControl(Statement.class); stmt2 = (Statement) stmtControl2.getMock(); con2.createStatement(); conControl2.setReturnValue(stmt2, 2); stmt2.executeQuery("select name, null as age, birth_date, balance from people"); stmtControl2.setReturnValue(rs2, 2); if (debugEnabled) { stmt2.getWarnings(); stmtControl2.setReturnValue(null, 2); } stmt2.close(); stmtControl2.setVoidCallable(2); conControl2.replay(); stmtControl2.replay(); conControl3 = MockControl.createControl(Connection.class); con3 = (Connection) conControl3.getMock(); con3.isClosed(); conControl3.setDefaultReturnValue(false); rsmdControl3 = MockControl.createControl(ResultSetMetaData.class); rsmd3 = (ResultSetMetaData) rsmdControl3.getMock(); rsmd3.getColumnCount(); rsmdControl3.setReturnValue(4, 1); rsmd3.getColumnLabel(1); rsmdControl3.setReturnValue("Last Name", 1); rsmd3.getColumnLabel(2); rsmdControl3.setReturnValue("age", 1); rsmd3.getColumnLabel(3); rsmdControl3.setReturnValue("birth_date", 1); rsmd3.getColumnLabel(4); rsmdControl3.setReturnValue("balance", 1); rsmdControl3.replay(); rsControl3 = MockControl.createControl(ResultSet.class); rs3 = (ResultSet) rsControl3.getMock(); rs3.getMetaData(); rsControl3.setReturnValue(rsmd3, 1); rs3.next(); rsControl3.setReturnValue(true, 1); rs3.getString(1); rsControl3.setReturnValue("Gagarin", 1); rs3.wasNull(); rsControl3.setReturnValue(false, 1); rs3.getLong(2); rsControl3.setReturnValue(22, 1); rs3.getTimestamp(3); rsControl3.setReturnValue(new Timestamp(1221222L), 1); rs3.getBigDecimal(4); rsControl3.setReturnValue(new BigDecimal("1234.56"), 1); rs3.next(); rsControl3.setReturnValue(false, 1); rs3.close(); rsControl3.setVoidCallable(1); rsControl3.replay(); stmtControl3 = MockControl.createControl(Statement.class); stmt3 = (Statement) stmtControl3.getMock(); con3.createStatement(); conControl3.setReturnValue(stmt3, 1); stmt3.executeQuery("select last_name as \"Last Name\", age, birth_date, balance from people"); stmtControl3.setReturnValue(rs3, 1); if (debugEnabled) { stmt3.getWarnings(); stmtControl3.setReturnValue(null, 1); } stmt3.close(); stmtControl3.setVoidCallable(1); conControl3.replay(); stmtControl3.replay(); jdbcTemplate = new JdbcTemplate(); jdbcTemplate.setDataSource(new SingleConnectionDataSource(con, false)); jdbcTemplate.setExceptionTranslator(new SQLStateSQLExceptionTranslator()); jdbcTemplate.afterPropertiesSet(); jdbcTemplate2 = new JdbcTemplate(); jdbcTemplate2.setDataSource(new SingleConnectionDataSource(con2, false)); jdbcTemplate2.setExceptionTranslator(new SQLStateSQLExceptionTranslator()); jdbcTemplate2.afterPropertiesSet(); jdbcTemplate3 = new JdbcTemplate(); jdbcTemplate3.setDataSource(new SingleConnectionDataSource(con3, false)); jdbcTemplate3.setExceptionTranslator(new SQLStateSQLExceptionTranslator()); jdbcTemplate3.afterPropertiesSet(); }
From source file:org.springframework.jdbc.core.JdbcTemplateTests.java
public void testLeaveConnectionOpenOnRequest() throws Exception { String sql = "SELECT ID, FORENAME FROM CUSTMR WHERE ID < 3"; MockControl ctrlResultSet = MockControl.createControl(ResultSet.class); ResultSet mockResultSet = (ResultSet) ctrlResultSet.getMock(); ctrlResultSet = MockControl.createControl(ResultSet.class); mockResultSet = (ResultSet) ctrlResultSet.getMock(); mockResultSet.next();//from w ww. j a v a2 s . c o m ctrlResultSet.setReturnValue(false); mockResultSet.close(); ctrlResultSet.setVoidCallable(); MockControl ctrlStatement = MockControl.createControl(PreparedStatement.class); PreparedStatement mockStatement = (PreparedStatement) ctrlStatement.getMock(); ctrlStatement = MockControl.createControl(PreparedStatement.class); mockStatement = (PreparedStatement) ctrlStatement.getMock(); mockStatement.executeQuery(sql); ctrlStatement.setReturnValue(mockResultSet); if (debugEnabled) { mockStatement.getWarnings(); ctrlStatement.setReturnValue(null); } mockStatement.close(); ctrlStatement.setVoidCallable(); mockConnection.isClosed(); ctrlConnection.setReturnValue(false, 2); mockConnection.createStatement(); ctrlConnection.setReturnValue(mockStatement); // if close is called entire test will fail mockConnection.close(); ctrlConnection.setDefaultThrowable(new RuntimeException()); ctrlResultSet.replay(); ctrlStatement.replay(); replay(); SingleConnectionDataSource scf = new SingleConnectionDataSource(mockDataSource.getConnection(), false); JdbcTemplate template2 = new JdbcTemplate(scf, false); RowCountCallbackHandler rcch = new RowCountCallbackHandler(); template2.query(sql, rcch); ctrlResultSet.verify(); ctrlStatement.verify(); }
From source file:org.springframework.jdbc.core.RowMapperTests.java
protected void setUp() throws SQLException { conControl = MockControl.createControl(Connection.class); con = (Connection) conControl.getMock(); con.isClosed();//from www.j a v a 2 s. c o m conControl.setDefaultReturnValue(false); rsControl = MockControl.createControl(ResultSet.class); rs = (ResultSet) rsControl.getMock(); rs.next(); rsControl.setReturnValue(true, 1); rs.getString(1); rsControl.setReturnValue("tb1", 1); rs.getInt(2); rsControl.setReturnValue(1, 1); rs.next(); rsControl.setReturnValue(true, 1); rs.getString(1); rsControl.setReturnValue("tb2", 1); rs.getInt(2); rsControl.setReturnValue(2, 1); rs.next(); rsControl.setReturnValue(false, 1); rs.close(); rsControl.setVoidCallable(1); rsControl.replay(); jdbcTemplate = new JdbcTemplate(); jdbcTemplate.setDataSource(new SingleConnectionDataSource(con, false)); jdbcTemplate.setExceptionTranslator(new SQLStateSQLExceptionTranslator()); jdbcTemplate.afterPropertiesSet(); }
From source file:ru.org.linux.site.Message.java
public boolean updateMessageText(Connection db, User editor, List<String> newTags) throws SQLException { SingleConnectionDataSource scds = new SingleConnectionDataSource(db, true); PreparedStatement pstGet = db.prepareStatement( "SELECT message,title FROM msgbase JOIN topics ON msgbase.id=topics.id WHERE topics.id=? FOR UPDATE"); pstGet.setInt(1, msgid);/*from w w w .j a va2s.co m*/ ResultSet rs = pstGet.executeQuery(); if (!rs.next()) { throw new RuntimeException("Can't fetch previous message text"); } String oldMessage = rs.getString("message"); String oldTitle = rs.getString("title"); rs.close(); pstGet.close(); List<String> oldTags = Tags.getMessageTags(db, msgid); EditInfoDTO editInfo = new EditInfoDTO(); editInfo.setMsgid(msgid); editInfo.setEditor(editor.getId()); boolean modified = false; SimpleJdbcTemplate jdbcTemplate = new SimpleJdbcTemplate(scds); if (!oldMessage.equals(message)) { editInfo.setOldmessage(oldMessage); modified = true; jdbcTemplate.update("UPDATE msgbase SET message=:message WHERE id=:msgid", ImmutableMap.of("message", message, "msgid", msgid)); } if (!oldTitle.equals(title)) { modified = true; editInfo.setOldtitle(oldTitle); jdbcTemplate.update("UPDATE topics SET title=:title WHERE id=:id", ImmutableMap.of("title", title, "id", msgid)); } if (newTags != null) { boolean modifiedTags = Tags.updateTags(db, msgid, newTags); if (modifiedTags) { editInfo.setOldtags(Tags.toString(oldTags)); Tags.updateCounters(db, oldTags, newTags); modified = true; } } if (modified) { SimpleJdbcInsert insert = new SimpleJdbcInsert(scds).withTableName("edit_info").usingColumns("msgid", "editor", "oldmessage", "oldtitle", "oldtags"); insert.execute(new BeanPropertySqlParameterSource(editInfo)); } return modified; }
From source file:ru.org.linux.site.Message.java
public List<EditInfoDTO> loadEditInfo(Connection db) { SingleConnectionDataSource scds = new SingleConnectionDataSource(db, true); SimpleJdbcTemplate jdbcTemplate = new SimpleJdbcTemplate(scds); List<EditInfoDTO> list = jdbcTemplate.query("SELECT * FROM edit_info WHERE msgid=? ORDER BY id DESC", BeanPropertyRowMapper.newInstance(EditInfoDTO.class), msgid); return ImmutableList.copyOf(list); }