Class: JDBC::PreparedStatementBuilder
- Inherits:
-
Object
- Object
- JDBC::PreparedStatementBuilder
- Defined in:
- lib/jdbc/prepared_statement_builder.rb
Class Method Summary collapse
- .for_command(connection:, jdbc_sql:, binding_values:) ⇒ Object
- .for_query(connection:, jdbc_sql:, binding_values:) ⇒ Object
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(statement:, binding_values:) ⇒ PreparedStatementBuilder
constructor
A new instance of PreparedStatementBuilder.
Constructor Details
#initialize(statement:, binding_values:) ⇒ PreparedStatementBuilder
Returns a new instance of PreparedStatementBuilder.
3 4 5 6 |
# File 'lib/jdbc/prepared_statement_builder.rb', line 3 def initialize(statement:, binding_values:) @statement = statement @binding_values = binding_values end |
Class Method Details
.for_command(connection:, jdbc_sql:, binding_values:) ⇒ Object
8 9 10 11 12 13 |
# File 'lib/jdbc/prepared_statement_builder.rb', line 8 def self.for_command(connection:, jdbc_sql:, binding_values:) new( statement: connection.prepare_statement(jdbc_sql, java.sql.Statement::RETURN_GENERATED_KEYS), binding_values: binding_values ).build end |
.for_query(connection:, jdbc_sql:, binding_values:) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/jdbc/prepared_statement_builder.rb', line 15 def self.for_query(connection:, jdbc_sql:, binding_values:) new( statement: connection.prepare_statement(jdbc_sql), binding_values: binding_values ).build end |
Instance Method Details
#build ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/jdbc/prepared_statement_builder.rb', line 22 def build binding_values.each_with_index do |(value, type), index| method_name, method_parameters = ParameterSetter.new( index: index, value: value, type: type ).build statement.public_send(method_name, *method_parameters) end statement end |